Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł ułatwia napisanie usługi internetowej o nazwie MathService, która uwidacznia metody dodawania, odejmowania, dzielenia i mnożenia dwóch liczb.
Oryginalna wersja produktu: Visual C# .NET
Oryginalny numer KB: 308359
Wymagania
Na poniższej liście opisano zalecany sprzęt, oprogramowanie, umiejętności i wiedzę, których potrzebujesz:
- Microsoft Windows
- Internet Information Server
- Visual Studio .NET
W tym artykule założono, że znasz temat: Jak używać zintegrowanego środowiska programistycznego .NET programu Visual Studio.
Pisanie usługi internetowej asmx
Otwórz program Visual Studio .NET.
W menu Plik wybierz pozycję Nowy i wybierz pozycję Projekt. W obszarze Typy projektów wybierz pozycję Projekty Visual C#. Następnie wybierz pozycję ASP.NET usługa sieci Web w obszarze Szablony. Wpisz MathService w polu tekstowym Lokalizacja , aby zmienić nazwę domyślną (WebService1) na MathService.
Zmień nazwę domyślnej usługi sieci Web utworzonej z pliku Service1.asmx na MathService.asmx.
Wybierz pozycję Kliknij , aby przełączyć się do widoku kodu w środowisku projektanta.
Zdefiniuj metody hermetyzujące funkcjonalność usługi. Każda metoda, która zostanie uwidoczniona z usługi, musi być oflagowana za pomocą atrybutu
WebMethod
przed nią. Bez tego atrybutu metoda nie zostanie uwidoczniona z usługi.Uwaga 16.
Nie każda metoda musi mieć
WebMethod
atrybut . Warto ukryć niektóre szczegóły implementacji wywoływane przez publiczne metody usługi sieci Web lub w przypadku,WebService
gdy klasa jest również używana w aplikacjach lokalnych. Aplikacja lokalna może używać dowolnej klasy publicznej, ale tylkoWebMethod
metody będą zdalnie dostępne jako usługi internetowe.Dodaj następującą metodę do utworzonej
MathServices
klasy:[WebMethod] public int Add(int a, int b) { return(a + b); } [WebMethod] public System.Single Subtract(System.Single A, System.Single B) { return (A - B); } [WebMethod] public System.Single Multiply(System.Single A, System.Single B) { return A * B; } [WebMethod] public System.Single Divide(System.Single A, System.Single B) { if(B == 0) return -1; return Convert.ToSingle(A / B); }
Wybierz pozycję Kompiluj w menu Kompilacja , aby skompilować usługę internetową.
Przejdź do strony usługi sieci Web MathService.asmx , aby przetestować usługę internetową. W przypadku ustawienia komputera lokalnego do hostowania strony adres URL to
http://localhost/MathService/MathService.asmx
.
Środowisko uruchomieniowe ASP.NET zwraca stronę pomocy usługi internetowej, która opisuje usługę sieci Web. Ta strona umożliwia również testowanie różnych metod usług internetowych.
Używanie usługi internetowej
Otwórz program Visual Studio .NET.
W obszarze Typy projektów wybierz pozycję Projekty Visual C#, a następnie wybierz pozycję Aplikacja konsolowa w obszarze Szablony.
Dodaj odwołanie dla usługi internetowej MathService do nowej aplikacji konsolowej.
Ten krok tworzy klasę serwera proxy na komputerze klienckim. Po utworzeniu klasy serwera proxy można tworzyć obiekty na podstawie klasy. Każde wywołanie metody, które jest wykonywane z obiektem, następnie przechodzi do ujednoliconego identyfikatora zasobu (URI) usługi internetowej (zwykle jako żądanie SOAP).
- W menu Project (Projekt) wybierz pozycję Add Web Reference (Dodaj odwołanie do sieci Web).
- W oknie dialogowym Dodawanie odwołania do sieci Web wpisz adres URL usługi sieci Web w polu tekstowym Adres i naciśnij ENTER. Jeśli ustawisz komputer lokalny na hostowanie usługi internetowej, adres URL to
http://localhost/MathService/MathService.asmx
. - Wybierz pozycję Dodaj odwołanie. Alternatywnie możesz wpisać adres URL do pliku odnajdywania (MathService.vsdisco) lub wybrać pozycję Odwołania internetowe na lokalnym serwerze sieci Web w okienku po lewej stronie, aby wybrać usługę MathService z listy.
- Rozwiń sekcję Web References (Odwołania sieci Web) Eksplorator rozwiązań i zanotuj użytą przestrzeń nazw.
Utwórz wystąpienie obiektu proxy, które zostało utworzone. Umieść następujący kod w funkcji o nazwie
Main
:localhost.Service1 myMathService = new localhost.Service1();
Wywołaj metodę w obiekcie proxy utworzonym w poprzednim kroku w następujący sposób:
Console.Write("2 + 4 = {0}", myMathService.Add(2,4));
Wybierz pozycję Kompiluj w menu Kompilacja , aby skompilować aplikację konsolową.
Wybierz pozycję Start w menu Debugowanie , aby przetestować aplikację.
Zamknij i zapisz projekt.
Informacje
Aby uzyskać więcej informacji, zobacz temat Programowanie sieci Web za pomocą usług sieci Web w pomocy programu Visual Studio .NET lub ASP.NET usługi sieci Web i ASP.NET klientów usług sieci Web w przewodniku dewelopera programu .NET Framework.
Aby uzyskać więcej informacji, odwiedź następujące witryny: