Почему System.web.mvc.httpverbs Class отсутствует трассировку, подключение и опции?

StackOverflow https://stackoverflow.com/questions/9321021

Вопрос

А RFC 2616 HTTP/1.1 Определение утверждает, что существуют следующие общие методы HTTP:

Получить, головы, публиковать, положить, удалить, трассировать, параметры, подключение

Но System.web.mvc.httpverbs enum отсутствует трассировку, опции и подключение.

У меня есть фильтр действий, который выбирает httpverb из запроса, чтобы принимать определенные решения (например, если запрос поместит модель базового типа A, я установил некоторые данные), так что этот утилита код бросает аргумент в пользу запросов за запросы последних трех (в основном варианты - выглядит так, как будто он поступает из Google Translate):

public static HttpVerbs GetHttpVerb(this HttpRequestBase httpRequestBase)
{
    switch (httpRequestBase.HttpMethod)
    {
        case "GET":
            return HttpVerbs.Get;
        case "POST":
            return HttpVerbs.Post;
        case "PUT":
            return HttpVerbs.Put;
        case "DELETE":
            return HttpVerbs.Delete;
        case "HEAD":
            return HttpVerbs.Head;    
        default:
            throw new ArgumentOutOfRangeException("httpRequestBase");
    }
}

Не уверен, как обойти это - какие -нибудь идеи?

Единственное, о чем я могу придумать, это изменить все ссылки на код, чтобы сначала проверить необработанный метод HTTP, а затем вызовуте утилиту, только если он не является трассировкой, опциями или подключением. Что немного взломан.

Почему в классе Enum не хватает? Есть ли конкретная причина для этого? Может ли MVC просто не обрабатывать запросы этих типов?

Из -за звуков метода параметров он даже не должен добраться до MVC, и с ним следует обрабатывать самим IIS?

Это было полезно?

Решение

В итоге создал свой собственный перевод и использовал это.

public enum HttpVerb
{
    Get,
    Head,
    Post,
    Put,
    Delete,
    Trace,
    Options,
    Connect
}

MVC все еще, кажется, обрабатывает запросы параметров типа.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top