Udostępnij za pośrednictwem


Przewodnik: tworzenie usługi WCF na platformie .NET Framework Windows Forms

W tym przewodniku pokazano, jak utworzyć usługę Windows Communication Foundation (WCF), przetestować ją, a następnie uzyskać do niej dostęp z poziomu aplikacji .NET Framework Windows Forms.

Uwaga

Na komputerze mogą być wyświetlane różne nazwy lub lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio w tym artykule. Być może używasz innej wersji programu Visual Studio lub innych ustawień środowiska. Aby uzyskać więcej informacji, zobacz Personalizowanie środowiska IDE.

Wymagania wstępne

Program Visual Studio z zainstalowanym składnikiem Windows Communication Foundation . Aby go zainstalować:

  1. Otwórz aplikację Instalator programu Visual Studio lub wybierz pozycję NarzędziaPobierz narzędzia >i funkcje z menu programu Visual Studio.
  2. W Instalatorze programu Visual Studio wybierz pozycję Modyfikuj obok wersji programu Visual Studio, którą chcesz zmodyfikować.
  3. Wybierz kartę Poszczególne składniki , a następnie wybierz pozycję Windows Communication Foundation w obszarze Działania programistyczne.
  4. Wybierz pozycję Modyfikuj.

Aby uzyskać więcej informacji, zobacz Modyfikowanie obciążeń, składników i pakietów językowych programu Visual Studio.

Tworzenie usługi WCF

Aby utworzyć usługę WCF w programie Visual Studio, wykonaj następujące kroki:

  1. W programie Visual Studio wybierz pozycję Plik>nowy>projekt z menu.

  2. Na stronie Tworzenie nowego projektu wprowadź w polu wyszukiwania bibliotekę usługi wcf . Wybierz szablon C# lub Visual Basic dla biblioteki usług WCF, a następnie wybierz przycisk Dalej.

    Zrzut ekranu przedstawiający sposób tworzenia projektu biblioteki usług WCF w programie Visual Studio.

    Wskazówka

    Jeśli nie widzisz żadnych szablonów, może być konieczne zainstalowanie składnika Windows Communication Foundation programu Visual Studio. Aby uzyskać więcej informacji, zobacz Wymagania wstępne

  3. Na stronie Konfigurowanie nowego projektu sprawdź ustawienia, a następnie wybierz pozycję Utwórz.

    Ten krok tworzy działającą usługę WCF, którą można przetestować i uzyskać dostęp. W poniższych krokach pokazano, jak zmodyfikować metodę domyślną tak, aby używała innego typu danych. W rzeczywistej aplikacji dodasz również własne funkcje do usługi.

  4. W Eksploratorze rozwiązań kliknij dwukrotnie IService1.cs lub IService1.vb w projekcie biblioteki usług WCF, w zależności od typu utworzonego projektu.

    Zrzut ekranu przedstawiający plik IService1 w Eksploratorze rozwiązań.

  5. Znajdź następujący wiersz:

    [OperationContract]
    string GetData(int value);
    

  1. Zmień typ parametru value na ciąg.

    W tym przykładzie kodu zwróć uwagę na atrybut OperationContract. Ten atrybut jest wymagany dla każdej metody uwidocznionej przez usługę.

    [OperationContract]
    string GetData(string value);
    

  1. W Eksploratorze rozwiązań kliknij dwukrotnie Service1.cs lub Service1.vb.

    Zrzut ekranu przedstawiający plik Service1 w Eksploratorze rozwiązań.

  2. W edytorze znajdź następujący wiersz:

    public string GetData(int value)
    {
        return string.Format("You entered: {0}", value);
    }
    

  1. Zmień typ parametru value na ciąg w następujący sposób:

    public string GetData(string value)
    {
        return string.Format("You entered: {0}", value);
    }
    

Testowanie usługi WCF

Aby przetestować utworzoną usługę WCF, wykonaj następujące kroki:

  1. Naciśnij F5 , aby uruchomić usługę.

    Pojawi się formularz Klienta testowego programu WCF, który ładuje usługę.

  2. W obszarze IService1 kliknij dwukrotnie metodę GetData().

    Karta GetData zostanie wyświetlona w formularzu klienta testowego programu WCF .

    Zrzut ekranu przedstawiający metodę GetData w formularzu klienta testowego programu WCF.

  3. W polu Żądanie na karcie GetData wybierz pole Wartość i wpisz Hello.

    Zrzut ekranu przedstawiający pole Wartość na karcie GetData.

  4. Wybierz przycisk Invoke (Wywołaj ). Jeśli zostanie wyświetlone okno dialogowe Ostrzeżenie o zabezpieczeniach , wybierz przycisk OK.

    Wynik zostanie wyświetlony w polu Odpowiedź .

    Zrzut ekranu przedstawiający wynik wyświetlany w polu Odpowiedź na karcie GetData.

  5. W menu Plik wybierz pozycję Zakończ , aby zamknąć formularz testowy.

Uzyskiwanie dostępu do usługi WCF

Po utworzeniu i przetestowaniu usługi WCF można odwoływać się do niej z projektu i użyć jej do utworzenia aplikacji klienckiej.

Odwołanie do usługi WCF

Aby odwołać się do usługi WCF z projektu, wykonaj następujące kroki:

  1. Wybierz pozycję Plik>Dodaj>nowy projekt.

  2. W oknie Dodawanie nowego projektu wybierz projekt C# lub Visual Basic Windows Forms App (.NET Framework). Wybierz pozycję Dalej, a następnie utwórz , aby utworzyć projekt.

  3. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy węzeł projektu nowego projektu i wybierz polecenie Dodaj>odwołanie do usługi.

    Zostanie wyświetlone okno dialogowe Dodawanie odwołania do usługi .

  4. Wybierz pozycję Odnajdź.

    Zrzut ekranu przedstawiający okno dialogowe Dodawanie odwołania do usługi.

    Usługa Service1 jest wyświetlana w okienku Usługi .

  5. Wybierz przycisk OK , aby dodać odwołanie do usługi.

Tworzenie aplikacji klienckiej

Aby utworzyć aplikację kliencką przy użyciu odwołania do usługi WCF, wykonaj następujące kroki.

  1. W Eksploratorze rozwiązań kliknij dwukrotnie Form1.cs lub Form1.vb w aplikacji Windows Forms.

    Formularz zostanie otwarty w programie Windows Forms Designer.

  2. Otwórz przybornik , wybierając pozycję Widok>Przybornik z menu lub naciśnij Ctrl+Alt+X z klawiatury.

  3. Z przybornika przeciągnij kontrolkę TextBox , kontrolkę Etykieta i kontrolkę Przycisk na formularz.

    Zrzut ekranu przedstawiający sposób dodawania kontrolek do formularza aplikacji klienckiej.

  4. Kliknij dwukrotnie kontrolkę Przycisk i dodaj następujący kod w procedurze obsługi zdarzeń Click :

    private void button1_Click(System.Object sender, System.EventArgs e)
    {
        ServiceReference1.Service1Client client = new
            ServiceReference1.Service1Client();
        string returnString;
    
        returnString = client.GetData(textBox1.Text);
        label1.Text = returnString;
    }
    
  5. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy węzeł projektu (na przykład WindowsFormsApp1), a następnie wybierz polecenie Ustaw jako projekt startowy.

  6. Naciśnij F5 , aby uruchomić projekt. Wprowadź tekst i wybierz przycisk. Etykieta zawiera wprowadzoną wartość:, a następnie tekst.

    Zrzut ekranu przedstawiający wynik wyświetlany w uruchomionym formularzu aplikacji klienckiej.