Szkolenie
Moduł
Tworzenie metod języka C# z parametrami - Training
W tym module omówiono parametry metody, w tym typy parametrów pass-by-reference i pass-by-value. Ten moduł obejmuje również opcjonalne i nazwane argumenty.
Ta przeglądarka nie jest już obsługiwana.
Przejdź na przeglądarkę Microsoft Edge, aby korzystać z najnowszych funkcji, aktualizacji zabezpieczeń i pomocy technicznej.
W przykładzie Nagłówki adresów pokazano, jak klienci mogą przekazywać parametry referencyjne do usługi przy użyciu programu Windows Communication Foundation (WCF).
Uwaga
Procedura instalacji i instrukcje kompilacji dla tego przykładu znajdują się na końcu tego tematu.
Specyfikacja adresowania WS definiuje pojęcie odwołania do punktu końcowego jako sposób adresowania określonego punktu końcowego usługi sieci Web. W programie WCF odwołania do punktów końcowych są modelowane przy użyciu EndpointAddress
klasy — EndpointAddress
jest typem pola ServiceEndpoint
Adres klasy.
Częścią modelu referencyjnego punktu końcowego jest to, że każde odwołanie może zawierać pewne parametry referencyjne, które dodają dodatkowe informacje identyfikujące. W programie WCF te parametry referencyjne są modelowane jako wystąpienia AddressHeader
klasy.
W tym przykładzie klient dodaje parametr referencyjny do EndpointAddress
punktu końcowego klienta. Usługa szuka tego parametru referencyjnego i używa jej wartości w logice operacji usługi "Hello".
Aby klient wysyłał parametr odwołania, musi dodać element AddressHeader
do EndpointAddress
elementu ServiceEndpoint
. EndpointAddress
Ponieważ klasa jest niezmienna, należy zmodyfikować adres punktu końcowego EndpointAddressBuilder
przy użyciu klasy . Poniższy kod inicjuje klienta w celu wysłania parametru odwołania w ramach komunikatu.
HelloClient client = new HelloClient();
EndpointAddressBuilder builder =
new EndpointAddressBuilder(client.Endpoint.Address);
AddressHeader header =
AddressHeader.CreateAddressHeader(IDName, IDNamespace, "John");
builder.Headers.Add(header);
client.Endpoint.Address = builder.ToEndpointAddress();
Kod tworzy EndpointAddressBuilder
element używający oryginału EndpointAddress
jako wartości początkowej. Następnie dodaje nowo utworzony nagłówek adresu; wywołanie metody w celu CreateAddressHeader
utworzenia nagłówka o określonej nazwie, przestrzeni nazw i wartości. Tutaj wartość to "John". Po dodaniu nagłówka do konstruktora ToEndpointAddress()
metoda konwertuje konstruktora (modyfikowalnego) z powrotem na adres punktu końcowego (niezmienny), który jest przypisywany z powrotem do pola Adres punktu końcowego klienta.
Teraz, gdy klient wywołuje Console.WriteLine(client.Hello());
metodę , usługa może uzyskać wartość tego parametru adresu, jak pokazano w wynikowych danych wyjściowych klienta.
Hello, John
Implementacja operacji Hello()
usługi używa bieżącego OperationContext
do sprawdzania wartości nagłówków w komunikacie przychodzącym.
string id = null;
// look at headers on incoming message
for (int i = 0;
i < OperationContext.Current.IncomingMessageHeaders.Count;
++i)
{
MessageHeaderInfo h = OperationContext.Current.IncomingMessageHeaders[i];
// for any reference parameters with the correct name & namespace
if (h.IsReferenceParameter &&
h.Name == IDName &&
h.Namespace == IDNamespace)
{
// read the value of that header
XmlReader xr = OperationContext.Current.IncomingMessageHeaders.GetReaderAtHeader(i);
id = xr.ReadElementContentAsString();
}
}
return "Hello, " + id;
Kod iteruje wszystkie nagłówki w komunikacie przychodzącym, wyszukując nagłówki, które są parametrami referencyjnymi o określonej nazwie i. Po znalezieniu parametru odczytuje wartość parametru i zapisuje go w zmiennej "id".
Upewnij się, że wykonano procedurę instalacji jednorazowej dla przykładów programu Windows Communication Foundation.
Aby skompilować wersję rozwiązania w języku C# lub Visual Basic .NET, postępuj zgodnie z instrukcjami w temacie Building the Windows Communication Foundation Samples (Tworzenie przykładów programu Windows Communication Foundation).
Aby uruchomić przykład w konfiguracji pojedynczej lub między maszynami, postępuj zgodnie z instrukcjami w temacie Uruchamianie przykładów programu Windows Communication Foundation.
Szkolenie
Moduł
Tworzenie metod języka C# z parametrami - Training
W tym module omówiono parametry metody, w tym typy parametrów pass-by-reference i pass-by-value. Ten moduł obejmuje również opcjonalne i nazwane argumenty.
Dokumentacja
Konfigurowanie i rozszerzanie środowiska uruchomieniowego za pomocą zachowań - WCF
Dowiedz się, jak zaimplementować interfejsy zachowania w aplikacjach WCF i dodać je do opisu usługi lub punktu końcowego programowo lub w pliku konfiguracji.
Dowiedz się, jak zaimplementować i skonfigurować inspektorów komunikatów klienta i usługi WCF, które zapewniają mechanizm weryfikacji komunikatów.
Formatowanie protokołu HTTP sieci Web WCF - WCF
Dowiedz się więcej o: Formatowanie protokołu HTTP w sieci Web WCF