Czy kiedykolwiek myślałeś o pomocy komuś i nie znalazłeś sposobu, aby to zrobić? Tak, wiem, że programiści nie mają na to czasu. W rzeczywistości część naszego życia poświęcona jest programowaniu dla takiej lub innej aplikacji. Wszystko to sprawiło, że pomyślałem, czy jako programista mogę zrobić coś dobrego dla innych programistów.
Dlaczego nie napisać kodu, który mógłby być używany przez dowolnego programistę kodującego w dowolnym języku? Czy to nie byłoby niesamowite?
Tak! I zgadnij co ? Rozwiązaniem jest - „Usługi internetowe”
Usługi sieciowe z definicji W3C to „system oprogramowania zaprojektowany do obsługi interoperacyjnej interakcji maszyna-maszyna w sieci”.
Usługi internetowe opracowane w jednym języku mogą być używane w dowolnym innym języku, a najlepsze jest to, że pomaga to zapewnić łączność z jednej aplikacji do drugiej.
Kiedy dwa systemy komunikują się ze sobą, system oprogramowania, który żąda usługi, jest nazywany żądającym usługi, a system oprogramowania, który przetworzy żądanie i zapewni usługę, jest nazywany dostawcą usług.
Teraz, jeśli zastanawiasz się, jak przebiega komunikacja, przejdźmy do tego.
Istnieją pewne zasady, które określają, w jaki sposób może zachodzić komunikacja między różnymi systemami. Reguły te obejmują sposób, w jaki jeden system może żądać danych z innego systemu, parametry wymagane w żądaniu danych, strukturę generowanych danych i komunikaty o błędach, które są wyświetlane w przypadku złamania pewnych reguł. Reguły te są zdefiniowane w pliku o nazwie WSDL (język opisu usług sieci Web) z rozszerzeniem .wsdl.
Po utworzeniu usługi sieci Web generowany jest plik WSDL w celu opisania usługi sieci Web, która używa protokołu mydła () do publikowania lub rejestrowania usługi w UDDI (Universal Distribution Discovery and Interoperability), tak aby nasza usługa była dostępna dla innych.
UDDI określa, z jakim systemem oprogramowania należy się skontaktować w sprawie jakiego rodzaju danych.
Żądający usługi kontaktuje się z UDDI i sprawdza dostawcę, który dostarcza potrzebne dane. Następnie kontaktuje się z usługodawcą za pomocą protokołu mydła. Usługodawca weryfikuje żądanie, odwołując się do WSDL i odsyła ustrukturyzowane dane w formacie XML przy użyciu protokołu Soap. Ten XML jest ponownie weryfikowany przy użyciu XSD (Definicja schematu XML - dokument definiujący regułę lub elementy XML).
Teraz, gdy zrozumiałeś, jak to działa, opracujmy usługę sieciową.
Istnieją głównie trzy aspekty, które rządzą rozwojem usług internetowych w .NET.
1. Tworzenie usługi internetowej
2. Utworzenie proxy
3. Korzystanie z utworzonej usługi WWW.
rozszerza i wdraża razem w java
Aby utworzyć usługę internetową w .net:
1. Kliknij prawym przyciskiem myszy projekt> Dodaj> Nowy element.
1. Web> Usługa sieciowa
2. Wpisz nazwę swojej usługi internetowej
3. Kliknij dodaj.
Zwróć uwagę, że pliki usług internetowych kończą się na .asmx
Po utworzeniu domyślnej usługi sieciowej zobaczysz następujące informacje:
using System using System.Collections.Generic using System.Linq using System.Web using System.Web.Services przestrzeni nazw WebApplication5 {/// /// Podsumowanie opisu dla WebService2 /// [WebService (Namespace = 'http: // tempuri. org / ')] [WebServiceBinding (ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem (false)] // Aby umożliwić wywoływanie tej usługi sieci Web ze skryptu przy użyciu ASP.NET AJAX, odkomentuj następujący wiersz. // [System.Web.Script.Services.ScriptService] klasa publiczna WebService2: System.Web.Services.WebService {[WebMethod] public string HelloWorld () {return 'Hello World'}}}
W powyższym fragmencie kodu klasa usługi sieci Web dziedziczy z klasy System.Web.Services.WebService, która jest otoczona atrybutem usługi sieci Web [WebService], w którym można określić przestrzeń nazw i podać krótki opis usługi sieci Web.
Atrybut WebMethod [WebMethod] służy do deklarowania metody jako części usługi internetowej. Musi być umieszczony przed deklaracją każdej metody, którą chcesz udostępnić w serwisie internetowym, a także wszystkie metody powinny być zadeklarowane jako publiczne.
Aby utworzyć metodę usługi sieci Web, dodaj kod do metody publicznej z atrybutem metody sieci Web do klasy WebService1. Na przykład:
różnica między override i overload
[WebMethod] public int ConvertToFarenheit (int celsius) {int f = 0 f = (celsius * 9/5) + 32 return f}
Po uruchomieniu usługi internetowej otrzymamy poniższą stronę:
Obejmuje to metody, które ujawniamy w usłudze sieciowej, a także łącze do opisu usługi, który jest plikiem WSDL.
Teraz, aby przetestować swoją usługę internetową, kliknij metodę, aby uzyskać poniższą stronę. Przekaż wartość parametru i kliknij invoke.
Otrzymasz dane wyjściowe usługi internetowej w następujący sposób:
Zobaczmy teraz, jak korzystać z usługi sieciowej, którą utworzyliśmy w naszej aplikacji.
1. W swoim projekcie kliknij prawym przyciskiem myszy odniesienia> dodaj odniesienie do usługi
Jak pokazano na poniższym zrzucie ekranu:
1. Podaj adres URL deskryptora usługi lub pliku WSDL w adres. I kliknij Start.
Znajduje usługę sieciową, którą stworzyliśmy.
2. Kliknij OK
W eksploratorze rozwiązań, który widzimy, w obszarze References tworzony jest katalog usług. Zawiera folder zawierający wszystkie pliki związane z korzystaniem z usługi internetowej
Tutaj ServiceReference1 to usługa internetowa, którą stworzyliśmy.
W ServiceReference1> Reference.svcmap> reference.cs jest utworzona klasa proxy (WebService1SoapClient), za pomocą której możemy wywołać metody zdefiniowane w naszej usłudze internetowej.
Aby użyć go w naszej aplikacji:
1. Utwórz obiekt klasy proxy.
2. Wywołaj metody dostępne w usłudze WWW za pośrednictwem obiektu klasy proxy.
using System using System.Collections.Generic using System.Linq using System.Web using System.Web.UI using System.Web.UI.WebControls using ServiceConsumeApp1.ServiceReference1 using ServiceConsumeApp1.ServiceReference1 namespace ServiceConsumeApp1 {publiczna klasa częściowa WebForm1: System.Web. Strona UI {protected void btnConvertRates_Click (object sender, EventArgs e) {WebService1SoapClient fn1 = new WebService1SoapClient () TextBox2.Text = fn1.ConvertToFarenheit (Convert.ToInt32 (TextBox).} Texting}.
Po uruchomieniu aplikacji dane wyjściowe zostaną wyświetlone w następujący sposób, po umieszczeniu odpowiednich kontrolek w formularzu internetowym, aby wyświetlić nasz wynik.
W ten sposób tworzymy i używamy usługi internetowej w .NET.
Możesz stworzyć wiele usług internetowych w .NET, wykonując powyższe kroki. Dostęp do tych usług internetowych można uzyskać za pomocą dowolnej aplikacji zbudowanej w dowolnym języku. Usługi sieciowe rozwiązują zatem problemy komunikacyjne między różnymi aplikacjami i okazują się prawdziwym interesem.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy, a my skontaktujemy się z Tobą.
Powiązane posty:
jak ustawić ścieżkę klasy w Linuksie