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


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 и связанными с ним классами.

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

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

  • Параметру Method задается значение Method.

  • Объект QueryString добавлен в RequestUri.

  • Headers добавляется в набор заголовков HTTP для передачи.

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

HttpRequestMessageProperty()

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

Свойства

Headers

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

HttpRequestMessage

Предоставляет доступ к 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()

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

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