Usługi Windows Communication Foundation i usługi danych WCF w programie Visual Studio

Visual Studio2008 zawiera narzędzia do pracy z funkcji Windows Communication Foundation (WCF) i Usługi danych WCF, technologii firmy Microsoft do tworzenia aplikacji rozproszonych.Ten temat zawiera wprowadzenie do usług z Visual Studio perspektywy.

Co to jest funkcja WCF?

Windows Communication Foundation (WCF)jest jednolitych ram dla tworzenia bezpiecznych, niezawodnych, transakcyjnego i interoperacyjnych aplikacji rozproszonych.W starszych wersjach Visual Studio, było kilku technologii, które mogłyby zostać wykorzystane do komunikacji między aplikacjami.

Jeśli chcemy współdzielić informacje w sposób, który go do niego z poziomu dowolnej platformy włączone, będzie używać usługi sieci Web (znaną również jako usługa sieci Web ASMX).Chcąc po prostu przenieś dane między klientem a serwerem, działającym w systemie operacyjnym Windows, należy użyć.NET usług zdalnych.Jeżeli chciał transakcyjnego łączności, należy użyć usługi Enterprise (DCOM), lub jeśli chciał kolejce modelu będzie używać usługi kolejkowania wiadomości (MSMQ).

WCF zgromadzono funkcjonalności tych technologii w obszarze zunifikowany model programowania.Upraszcza to doświadczenie opracowywania aplikacji rozproszonych.

Co to są usługi WCF w danych

Usługi danych WCFsą usługi, które współdziałają bezpośrednio z bazy danych, co pozwala zwrócić dane przy użyciu standardowych zleceń HTTP, takich jak GET, POST, PUT, lub usunąć.Ogólnie rzecz biorąc Usługi danych WCF są dobrym rozwiązaniem dla aplikacji, które są używane do tworzenia, aktualizacji lub usuwania rekordów w bazie danych.Aby uzyskać więcej informacji, zobacz ADO.Ramy usług danych NET.

Model programowania WCF

Model programowania WCF jest oparty na komunikacji między dwoma obiektami: usługi WCF i klienta WCF.Model programowania jest hermetyzowany w System.ServiceModel obszaru nazw w .NET Framework.

Usługi WCF

Usługi WCF jest oparty na interfejs, który definiuje kontrakt między usługą a klientem.Jest on oznaczony ServiceContractAttribute atrybutu, jak pokazano w poniższym kodzie:

<ServiceContract()>
Public Interface IService1
[ServiceContract]
public interface IService1
<OperationContract()>
Function GetData(ByVal value As String) As String
[OperationContract]
string GetData(string value);

Definiowanie funkcji lub metody, które są udostępniane przez usługi WCF, oznaczając je z OperationContractAttribute atrybut.Ponadto może narazić dane serializowane przez oznaczenie typu złożonego z DataContractAttribute atrybut.Dzięki temu wiązania z danymi klienta.

Po zdefiniowaniu interfejsu i metody jego są hermetyzowane w klasie, która implementuje interfejs.Jedną klasę usługi WCF można zaimplementować wielu umów serwisowych.

Usługi WCF jest wystawiony dla spożycia przez co jest znane jako punktu końcowego.Punkt końcowy stanowi jedyny sposób komunikowania się z usługą; Podobnie jak w przypadku innych klas nie można uzyskać dostęp do usługi poprzez bezpośrednie odniesienie.

Punkt końcowy składa się z adresu, powiązania i umowy.Określa adres, gdzie usługa znajduje się; może to być adres URL, adres FTP lub sieci lub ścieżkę lokalną.Powiązanie definiuje sposób komunikacji z usługą.Powiązania WCF przewidują wszechstronny modelu protokołu, taki jak HTTP lub FTP, mechanizm zabezpieczeń, takich jak uwierzytelnianie systemu Windows lub nazwy użytkowników i hasła, określając i wiele więcej.Umowa obejmuje operacje, które są udostępniane przez klasę usługi WCF.

Wiele punktów końcowych mogą być narażeni na jednej usługi WCF.Dzięki temu różnych klientów do komunikowania się z tej samej usługi w różny sposób.Na przykład usług bankowych może dostarcza jeden punkt końcowy dla pracowników, a inny dla odbiorców zewnętrznych każdego przy użyciu innego adresu wiązania, i/lub umowy.

Klienta WCF

Klienta WCF składa się z serwera proxy , który umożliwia aplikacji do komunikacji z usługi WCF i punktu końcowego, który pasuje do punktu końcowego zdefiniowane dla usługi.Serwer proxy jest generowany w pliku app.config po stronie klienta i zawiera informacje dotyczące typów i metod, które są udostępniane przez usługę.Dla usług, które udostępniają wiele punktów końcowych klienta można wybrać jedną, która najlepiej pasuje do swoich potrzeb, na przykład do komunikowania się za pośrednictwem protokołu HTTP i korzystanie z uwierzytelniania systemu Windows.

Po utworzeniu klienta WCF tak samo, jak każdy inny obiekt należy odwołać usługę w kodzie.Na przykład, aby wywołać GetData metod przedstawionych wcześniej, czy pisać kod podobny do następującego:

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
      Dim client As New ServiceReference1.Service1Client
      Dim returnString As String

      returnString = client.GetData(TextBox1.Text)
      Label1.Text = returnString
  End Sub
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;
}

Narzędzia usług WCF w środowisku Visual Studio

Visual Studio2008 zawiera narzędzia ułatwiające tworzenie usług WCF i w WCF klientów.Instruktaż, który demonstruje narzędzia, zobacz Wskazówki: tworzenie usług WCF i dostęp do nich.

Tworzenie i testowanie usługi WCF

Można używać usług WCF Visual Studio szablonów jako Fundacji, aby szybko utworzyć własne usługi.Hosta Auto usługi WCF i WCF Test klienta można następnie używać do debugowania i testowania usługi.Narzędzia te razem zapewniają szybki i wygodny program debug i cyklu badania i wyeliminować wymóg zatwierdzenia modelu hostingu na wczesnym etapie.

Szablony WCF

WCF Visual Studio Szablony pomagają klasy podstawowej struktury dla rozwoju usług.Kilka szablonów WCF są dostępne w Dodać nowy projekt okno dialogowe.Obejmują one projektów Biblioteka usług WCF, witryn sieci Web usługi WCF i szablony WCF przedmiotu serwisu.

Po wybraniu szablonu, pliki zostaną dodane do umowy serwisowej, wykonania usług i konfiguracji usługi.Wszystkie atrybuty niezbędne już są dodawane, tworzenie prostego typu "Hello World" usługi, i nie masz do pisania kodu.Oczywiście chcesz dodać kod, aby dostarczyć funkcje i metody obsługi świata rzeczywistego, ale Szablony stanowią fundament.

Aby dowiedzieć się więcej na temat szablonów WCF, zobacz Szablony programu Visual Studio na potrzeby programu WCF.

Host usługi WCF

Po uruchomieniu Visual Studio debuger (przez naciśnięcie klawisza F5) dla projektu usługi WCF hosta usługi WCF, które są automatycznie uruchamiane jest narzędzie do obsługi usługi lokalnie.Host usługi WCF wylicza usługi w projekcie usługi WCF, ładuje konfigurację projektu i tworzy hosta dla każdej usługi, które znajdzie.

Przy użyciu hosta usługi WCF, można przetestować usługi WCF bez pisania kodu dodatkowych lub zobowiązuje się do określonego hosta w trakcie rozwoju.

Aby dowiedzieć się więcej na temat hosta usługi WCF, zobacz Host usługi WCF (WcfSvcHost.exe).

WCF testu klienta

Narzędzie klienta Test WCF umożliwia wprowadzanie parametrów badania, przedstawić, że dane wejściowe do usługi WCF i wyświetlić odpowiedź, która odsyła usługi.Zapewnia wygodny usługi testowania doświadczenia podczas łączenia z hosta usługi WCF.

Po naciśnięciu klawisza F5 w celu debugowania projektu usługi WCF, WCF Test klienta otwiera i wyświetla listę punktów końcowych usługi, które są zdefiniowane w pliku konfiguracyjnym.Można przetestować parametry i uruchomić usługę i powtórzyć ten proces, aby stale i uwierzytelnia użytkownika usługi.

Aby dowiedzieć się więcej na temat usług WCF Test klienta, zobacz Testowy klient WCF (WcfTestClient.exe).

Dostęp do usług WCF w środowisku Visual Studio

Visual Studioupraszcza proces tworzenia klientów usług WCF, automatycznego generowania serwera proxy i punktu końcowego dla usług, które można dodać za pomocą Dodać odwołanie do usługi okno dialogowe.Wszystkich niezbędnych informacji konfiguracyjnych jest dodany do pliku app.config. Większość czasu, wszystko, co musisz zrobić to wystąpienia usługi w celu wykorzystania go.

Dodać odwołanie do usługi okno dialogowe umożliwia wprowadź adres dla usługi lub wyszukiwać usługi, która jest zdefiniowana w rozwiązaniu.Okno dialogowe zwraca listę usług i operacji, dostarczone przez te usługi.Umożliwia również zdefiniowanie obszaru nazw, w którym będzie odwoływać usług w kodzie.

Odwołania do konfigurowania usługi okno dialogowe umożliwia dostosowanie konfiguracji dla usługi.Można zmienić adres usługi, określ poziom dostępu, zachowanie asynchroniczne i typy kontraktu komunikatu i skonfigurować ponowne użycie typu.

Jak: Wybierz punkt końcowy usługi

Niektóre usługi Windows Communication Foundation (WCF) narazić wiele punktów końcowych, przez które klient może komunikować się z usługi.Na przykład usługa może narazić jeden punkt końcowy, używa protokołu HTTP powiązania i nazwa użytkownika / hasło zabezpieczeń i drugiego punktu końcowego, który korzysta z uwierzytelniania systemu Windows i FTP.Pierwszy punkt końcowy może być używany przez aplikacje, które dostęp do usługi z zewnątrz zapory, drugi może być używane w intranecie.

W takim przypadku można określić endpointConfigurationName jako parametr do konstruktora dla odwołania do usługi.

[!UWAGA]

Na komputerze w poniższych instrukcjach mogą być wyświetlane inne nazwy i lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio. Te elementy są określane przez numer wersji Visual Studio oraz twoje ustawienia. Aby uzyskać więcej informacji, zobacz Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.

Aby zaznaczyć punkt końcowy usługi

  1. Dodaj odwołanie do usługi WCF.Aby uzyskać więcej informacji, zobacz Porady: dodawanie, aktualizowanie lub usuwanie odwołań usługi.

  2. W edytorze kodu dodać konstruktora dla odwołania usługi:

    Dim proxy As New ServiceReference.Service1Client(
    
    ServiceReference.Service1Client proxy = new ServiceReference.Service1Client(
    

    [!UWAGA]

    Zastąpić ServiceReference z obszaru nazw dla usługi odniesienia i Zamień Service1Client z nazwą usługi.

  3. Zostanie wyświetlona lista IntelliSense z przeciążeniem dla konstruktora.Wybierz endpointConfigurationName As String na przeciążenie.

  4. W następstwie przeciążenie, wpisz = ConfigurationName, gdzie ConfigurationName to nazwa punktu końcowego, który chcesz użyć.

    [!UWAGA]

    Jeśli nie znasz nazwy dostępnych punktów końcowych, można je znaleźć w pliku app.config.

Aby znaleźć dostępne punkty końcowe dla usługi WCF

  1. W Solution Explorer, kliknij prawym przyciskiem myszy plik app.config projektu, który zawiera odwołanie do usługi, a następnie kliknij przycisk Otwórz.Plik pojawi się w edytorze kodu.

  2. Szukaj <Client> znaczników w pliku.

  3. Wyszukiwanie pod <Client> tag dla znacznika, który rozpoczyna się od <Endpoint>.

    Jeśli usługa zawiera wiele punktów końcowych, zostaną dwa lub więcej <Endpoint znaczniki.

  4. Wewnątrz <EndPoint> tag znajdziesz name="SomeService" parametr (gdzie SomeService reprezentuje nazwę punktu końcowego).Jest to nazwa dla punktu końcowego, który może zostać przekazany do endpointConfigurationName As String przeciążenie konstruktora dla odwołania do usługi.

Jak: wywołanie metody usługi asynchronicznie

Większości metod w usługi Windows Communication Foundation (WCF) może być wywołana synchronicznie lub asynchronicznie.Wywołanie metody asynchronicznie umożliwia aplikacji kontynuować pracę, podczas gdy metoda jest wywoływana, gdy działa poprzez powolne połączenia.

Domyślnie kiedy odwołanie do usługi jest dodawany do projektu jest konfigurowana do wywołania metody synchronicznie.Można zmienić zachowanie wywoływanie metod asynchronicznie, zmieniając ustawienie w Odwołanie do konfigurowania usługi okno dialogowe.

[!UWAGA]

Opcja ta jest ustawiona na podstawie typu usługi.Jeśli wywoływana jest jedną z metod usługi asynchronicznie, wszystkie metody musi być wywołana asynchronicznie.

[!UWAGA]

Na komputerze w poniższych instrukcjach mogą być wyświetlane inne nazwy i lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio. Te elementy są określane przez numer wersji Visual Studio oraz twoje ustawienia. Aby uzyskać więcej informacji, zobacz Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.

Aby wywołać metodę usługi asynchronicznie

  1. W Solution Explorer, zaznacz odwołanie do usługi.

  2. Na Projekt menu, kliknij przycisk Odwołanie do konfigurowania usługi.

  3. W Odwołanie do konfigurowania usługi okno dialogowe Wybierz operacji asynchronicznych generowanie pole wyboru.

Jak: powiązać dane zwracane przez usługę

Można powiązać dane zwrócone przez usługi Windows Communication Foundation (WCF) do formantu, podobnie jak inne źródła danych można powiązać z formantem.Po dodaniu odwołania do usługi WCF, jeśli usługa zawiera typy złożone, które zwracają dane, są automatycznie dodawane do Źródła danych okna.

Aby powiązać formant z polem danych zwróconych przez usługi WCF

  1. Na danych menu, kliknij przycisk Pokaż źródeł danych.Źródła danych pojawi się okno.

  2. W Źródła danych okna, należy rozwinąć węzeł odwołanie do usługi.Zostaną wyświetlone wszystkie typy złożone zwrócony przez usługę.

  3. Rozwiń węzeł dla określonego typu.Pola danych dla tego typu będą wyświetlane.

  4. Zaznacz pole, a następnie kliknij przycisk strzałka rozwijana, aby wyświetlić listę formantów, które są dostępne dla typu danych.

  5. Kliknij typ formantu, który chcesz powiązać.

  6. Przeciągnij pole do formularza.Formant zostanie dodany do formularza wraz z BindingSource składnika i BindingNavigator składnika.

  7. Powtórz kroki 4, chociaż 6 w przypadku innych pól, które chcesz powiązać.

Aby powiązać formant typu złożonego zwrócony przez usługi WCF

  1. Na danych menu, wybierz opcję Pokaż źródeł danych.Źródła danych pojawi się okno.

  2. W Źródła danych okna, należy rozwinąć węzeł odwołanie do usługi.Zostaną wyświetlone wszystkie typy złożone zwrócony przez usługę.

  3. Wybierz węzeł typu i kliknij strzałkę rozwijania, aby wyświetlić listę dostępnych opcji.

  4. Kliknij jedną z DataGridView do wyświetlania danych w siatce lub Szczegóły do wyświetlania danych w poszczególnych formantów.

  5. Przeciągnij węzeł na formularzu.Formanty zostaną dodane do formularza, wraz z BindingSource składnika i BindingNavigator składnika.

Jak: Konfigurowanie usługi do ponownego użycia istniejących typów

Gdy odwołanie do usługi jest dodawany do projektu, wszystkie typy zdefiniowane w usłudze są generowane w lokalnym projektu.W wielu przypadkach, to tworzy zduplikowane typy, gdy usługa używa wspólnej .NET Framework typów lub gdy typy są zdefiniowane w udostępnionej biblioteki.

Aby uniknąć tego problemu, typów w zestawach odwołania są udostępniane domyślnie.Jeśli chcesz wyłączyć udostępnianie dla jednego lub więcej zestawów typu, można wykonać w Odwołania do konfigurowania usługi okno dialogowe.

Aby wyłączyć udostępnianie w jednym zestawie typu

  1. W Solution Explorer, zaznacz odwołanie do usługi.

  2. Na Projekt menu, kliknij przycisk Odwołanie do konfigurowania usługi.

  3. W Odwołania do konfigurowania usługi okno dialogowe Wybierz ponowne użycie typów w określonych zestawach odwołania.

  4. Zaznacz pole wyboru dla każdego zestawu, w którym chcesz włączyć udostępnianie typu.Aby wyłączyć udostępnianie dla asemblowania typu, pozostaw wyczyszczone pole wyboru.

Aby wyłączyć udostępnianie w wszystkie zespoły typu

  1. W Solution Explorer, zaznacz odwołanie do usługi.

  2. Na Projekt menu, kliknij przycisk Odwołanie do konfigurowania usługi.

  3. W Odwołania do konfigurowania usługi okno dialogowe, wyczyść ponowne użycie typów w zestawach odwołania pole wyboru.

Tematy pokrewne

Tytuł

Opis

Wskazówki: tworzenie usług WCF i dostęp do nich

Przewiduje wykazanie krok po kroku tworzenia i korzystania z usług WCF w Visual Studio.

Wskazówki: tworzenie i uzyskiwanie dostępu do usługi danych WCF w programie Visual Studio

Zapewnia pokaz krok po kroku tworzenia i używania Usługi danych WCF w Visual Studio.

Używanie narzędzi deweloperskich programu WCF

W tym artykule omówiono sposób tworzenia i testowania usługi WCF w Visual Studio.

Porady: dodawanie, aktualizowanie lub usuwanie odwołań usługi

W tym artykule opisano, jak dodawanie, aktualizowanie lub usuwanie usług WCF z projektu.

Porady: dodawanie, aktualizowanie lub usuwanie odwołań usługi danych WCF

Omówiono sposób odwołać i używać Usługi danych WCF w Visual Studio.

Porady: dodawanie odwołania do usług sieci Web

W tym artykule opisano, jak dodać odwołanie do usługi sieci Web XML (ASMX) do projektu.

Rozwiązywanie problemów z odwołaniami usługi

Przedstawia typowych błędów, które mogą wystąpić z usługi odniesienia i sposobu zapobiegania im.

Debugowanie usług WCF

W tym artykule opisano typowe problemy debugowania i technik, które można napotkać podczas debugowania usługi WCF.

Windows Communication Foundation Authentication Service Overview

W tym artykule opisano, jak używać usług WCF do świadczenia usług ról dla witryny sieci Web.

Messaging in the .NET Compact Framework

W tym artykule opisano obsługę warstwy wiadomości WCF w.NET Compact Framework.

Wskazówki: tworzenie aplikacji warstwowych

Zawiera instrukcje krok tworzenia maszynowy dataset i oddzielania kodu TableAdapter i zestawu danych do wielu projektów.

Dodawanie odwołania do usługi — Okno dialogowe

W tym artykule opisano elementy interfejsu użytkownika z Dodać odwołanie do usługi okno dialogowe.

Konfigurowanie odwołania do usługi — Okno dialogowe

W tym artykule opisano elementy interfejsu użytkownika z Odwołanie do konfigurowania usługi okno dialogowe.

Odwołanie

System.ServiceModel

System.Data.Services