HttpRequestMessageProperty.Method Свойство

Определение

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

public string Method { get; set; }

Значение свойства

String

Команда HTTP для HTTP-запроса.

Исключения

Присвоено значение null.

Примеры

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

public Message ProcessMessage(Message request)
{
    Message response = null;

    //The HTTP Method (e.g. GET) from the incoming HTTP request
    //can be found on the HttpRequestMessageProperty. The MessageProperty
    //is added by the HTTP Transport when the message is received.
    HttpRequestMessageProperty requestProperties =
        (HttpRequestMessageProperty)request.Properties[HttpRequestMessageProperty.Name];

    //Here we dispatch to different internal implementation methods
    //based on the incoming HTTP verb.
    if (requestProperties != null)
    {
        if (String.Equals("GET", requestProperties.Method,
            StringComparison.OrdinalIgnoreCase))
        {
            response = GetCustomer(request);
        }
        else if (String.Equals("POST", requestProperties.Method,
            StringComparison.OrdinalIgnoreCase))
        {
            response = UpdateCustomer(request);
        }
        else if (String.Equals("PUT", requestProperties.Method,
            StringComparison.OrdinalIgnoreCase))
        {
            response = AddCustomer(request);
        }
        else if (String.Equals("DELETE", requestProperties.Method,
            StringComparison.OrdinalIgnoreCase))
        {
            response = DeleteCustomer(request);
        }
        else
        {
            //This service doesn't implement handlers for other HTTP verbs (such as HEAD), so we
            //construct a response message and use the HttpResponseMessageProperty to
            //set the HTTP status code to 405 (Method Not Allowed) which indicates the client 
            //used an HTTP verb not supported by the server.
            response = Message.CreateMessage(MessageVersion.None, String.Empty, String.Empty);

            HttpResponseMessageProperty responseProperty = new HttpResponseMessageProperty();
            responseProperty.StatusCode = HttpStatusCode.MethodNotAllowed;

            response.Properties.Add( HttpResponseMessageProperty.Name, responseProperty );
        }
    }
    else
    {
        throw new InvalidOperationException( "This service requires the HTTP transport" );
    }

    return response;
}

Комментарии

По умолчанию WCF использует команду POST для HTTP-сообщений. Команда GET используется WCF для отображения справки при доступе к базовому адресу ServiceHost. Это полезно для проверки активности службы WCF при использовании веб-браузера. Другие методы, определенные СТАНДАРТОМ RFC HTTP : PUT, DELETE, HEAD, OPTIONS, TRACE и CONNECT. При взаимодействии с другими службами эти методы демонстрируют специальные поведения.

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

Продукт Версии
.NET Core 1.0, Core 1.1
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
UWP 10.0