Udostępnij za pośrednictwem


HttpRequestMessageProperty Klasa

Definicja

Zapewnia dostęp do żądania HTTP w celu uzyskania dostępu do dodatkowych informacji udostępnionych dla żądań za pośrednictwem protokołu HTTP i odpowiadania na nie.

public ref class HttpRequestMessageProperty sealed : System::ServiceModel::Channels::IMessageProperty
public ref class HttpRequestMessageProperty sealed : System::ServiceModel::Channels::IMergeEnabledMessageProperty, System::ServiceModel::Channels::IMessageProperty
public ref class HttpRequestMessageProperty sealed
public sealed class HttpRequestMessageProperty : System.ServiceModel.Channels.IMessageProperty
public sealed class HttpRequestMessageProperty : System.ServiceModel.Channels.IMergeEnabledMessageProperty, System.ServiceModel.Channels.IMessageProperty
public sealed class HttpRequestMessageProperty
type HttpRequestMessageProperty = class
    interface IMessageProperty
type HttpRequestMessageProperty = class
    interface IMessageProperty
    interface IMergeEnabledMessageProperty
type HttpRequestMessageProperty = class
Public NotInheritable Class HttpRequestMessageProperty
Implements IMessageProperty
Public NotInheritable Class HttpRequestMessageProperty
Implements IMergeEnabledMessageProperty, IMessageProperty
Public NotInheritable Class HttpRequestMessageProperty
Dziedziczenie
HttpRequestMessageProperty
Implementuje
IMessageProperty System.ServiceModel.Channels.IMergeEnabledMessageProperty

Przykłady

Poniższy kod pokazuje, jak ustawić kilka właściwości w wystąpieniu tej klasy i dołączyć wystąpienie do komunikatu.

static Message BuildMessage()
{
    Message messageToSend = null;
    HttpRequestMessageProperty reqProps = new HttpRequestMessageProperty();
    reqProps.SuppressEntityBody = false;
    reqProps.Headers.Add("CustomHeader", "Test Value");
    reqProps.Headers.Add(HttpRequestHeader.UserAgent, "my user agent");

    try
    {
        messageToSend = Message.CreateMessage(MessageVersion.Soap11, "http://tempuri.org/IUntypedService/ProcessMessage", "Hello WCF");
    }
    catch (Exception e)
    {
        Console.WriteLine("got exception when sending message: " + e.ToString());
    }

    messageToSend.Properties[HttpRequestMessageProperty.Name] = reqProps;
    return messageToSend;
}
Private Shared Function BuildMessage() As Message
    Dim messageToSend As Message = Nothing
    Dim reqProps As New HttpRequestMessageProperty()
    reqProps.SuppressEntityBody = False
    reqProps.Headers.Add("CustomHeader", "Test Value")
    reqProps.Headers.Add(HttpRequestHeader.UserAgent, "my user agent")

    Try
        messageToSend = Message.CreateMessage(MessageVersion.Soap11, "http://tempuri.org/IUntypedService/ProcessMessage", "Hello WCF")
    Catch e As Exception
        Console.WriteLine("got exception when sending message: " & e.ToString())
    End Try

    messageToSend.Properties(HttpRequestMessageProperty.Name) = reqProps
    Return messageToSend
End Function

Uwagi

Jest to klasa ogólnego przeznaczenia, która zapewnia deweloperowi bezpośredni dostęp do informacji o żądaniu HTTP, których można użyć do hermetyzacji informacji specyficznych dla protokołu HTTP. Jednym z przykładów użycia tej klasy jest obsługa usług wdrożonych zgodnie z architekturą Rest (Representational State Transfer).

Ta klasa umożliwia obsługę następujących scenariuszy:

  • Zmienia czasownik HTTP używany dla każdego żądania.

  • Umożliwia ustawienie par nagłówka HTTP (klucza, wartości) i wykonywanie zapytań przez żądanie.

  • Umożliwia określenie ciągu zapytania dla żądania HTTP.

Ta klasa może być używana przez HttpTransportBindingElement klasy i powiązane.

W przypadku komunikatów przychodzących ta właściwość jest dodawana do komunikatów.

W przypadku komunikatów wychodzących ta właściwość powoduje wystąpienie następujących sytuacji:

Konstruktory

HttpRequestMessageProperty()

Inicjuje nowe wystąpienie klasy HttpRequestMessageProperty.

Właściwości

Headers

Pobiera nagłówki HTTP z żądania HTTP.

HttpRequestMessage

Zapewnia dostęp do żądania HTTP w celu uzyskania dostępu do dodatkowych informacji udostępnionych dla żądań za pośrednictwem protokołu HTTP i odpowiadania na nie.

Method

Pobiera lub ustawia czasownik HTTP dla żądania HTTP.

Name

Pobiera nazwę właściwości komunikatu skojarzonej z klasą HttpRequestMessageProperty .

QueryString

Pobiera lub ustawia ciąg zapytania dla żądania HTTP.

SuppressEntityBody

Pobiera lub ustawia wartość wskazującą, czy treść wiadomości jest ignorowana i wysyłane są tylko nagłówki.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IMergeEnabledMessageProperty.TryMergeWithProperty(Object)

Zapewnia dostęp do żądania HTTP w celu uzyskania dostępu do dodatkowych informacji udostępnionych dla żądań za pośrednictwem protokołu HTTP i odpowiadania na nie.

IMessageProperty.CreateCopy()

Tworzy i zwraca kopię bieżącego obiektu.

Dotyczy