Поделиться через


HttpRequestMessageProperty Класс

Определение

Предоставляет доступ к HTTP-запросу для доступа и реагирования на дополнительные сведения, предоставляемые для запросов по протоколу HTTP.

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
Наследование
HttpRequestMessageProperty
Реализации
IMessageProperty System.ServiceModel.Channels.IMergeEnabledMessageProperty

Примеры

В следующем коде показано, как задать несколько свойств в экземпляре этого класса и включить экземпляр в сообщение.

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

Комментарии

Это класс общего назначения, который предоставляет разработчику прямой доступ к данным HTTP-запроса, который можно использовать для инкапсулирования сведений о HTTP. Одним из примеров использования этого класса является поддержка служб, реализованных в соответствии с архитектурой передачи состояния представления (REST).

Этот класс обеспечивает поддержку следующих сценариев:

  • Зависит от команды HTTP, используемой для каждого запроса.

  • Позволяет задавать пары заголовков HTTP (ключ, значение) и запрашивать их по запросу.

  • Позволяет указать строку запроса для HTTP-запроса.

Этот класс можно использовать и связанными классами HttpTransportBindingElement .

Для входящих сообщений это свойство добавляется в сообщения.

Для исходящих сообщений это свойство вызывает следующее:

Конструкторы

Имя Описание
HttpRequestMessageProperty()

Инициализирует новый экземпляр класса HttpRequestMessageProperty.

Свойства

Имя Описание
Headers

Возвращает заголовки HTTP из HTTP-запроса.

Method

Возвращает или задает HTTP-команду для HTTP-запроса.

Name

Возвращает имя свойства сообщения, связанного с классом HttpRequestMessageProperty .

QueryString

Возвращает или задает строку запроса для HTTP-запроса.

SuppressEntityBody

Возвращает или задает значение, указывающее, игнорируется ли текст сообщения и отправляются только заголовки.

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
IMergeEnabledMessageProperty.TryMergeWithProperty(Object)

Предоставляет доступ к HTTP-запросу для доступа и реагирования на дополнительные сведения, предоставляемые для запросов по протоколу HTTP.

IMessageProperty.CreateCopy()

Создает и возвращает копию текущего объекта.

Применяется к