Как вы найдете HTTP-глагол (POST, GET, DELETE, PUT), используемый для доступа к вашему приложению? Im look httpcontext.current, но там dosent похоже какое-то свойство, которое дает мне информацию. Благодаря
Http-глагол текущего http-контекста
Ответ 1
Используйте HttpContext.Current.Request.HttpMethod
.
Смотрите: http://msdn.microsoft.com/en-us/library/system.web.httprequest.httpmethod.aspx
Ответ 2
HttpContext.Current.Request.HttpMethod
Ответ 3
Вы также можете использовать: HttpContext.Current.Request.RequestType
https://msdn.microsoft.com/en-us/library/system.web.httprequest.requesttype(v=vs.110).aspx
Ответ 4
Для получения "Получить и отправить"
string method = HttpContext.Request.HttpMethod.ToUpper();
Ответ 5
В ASP.NET CORE 2.0 вы можете получить (или установить) HTTP-глагол для текущего контекста, используя:
Request.HttpContext.Request.Method
Ответ 6
HttpContext.Current.Request.HttpMethod
вернуть строку, но лучше использовать enum HttpVerbs. Кажется, нет способа построить метод, чтобы получить глагол currrent в качестве enum, поэтому я написал для него помощник
Класс помощника
public static class HttpVerbsHelper
{
private static readonly Dictionary<HttpVerbs, string> Verbs =
new Dictionary<HttpVerbs, string>()
{
{HttpVerbs.Get, "GET"},
{HttpVerbs.Post, "POST"},
{HttpVerbs.Put, "PUT"},
{HttpVerbs.Delete, "DELETE"},
{HttpVerbs.Head, "HEAD"},
{HttpVerbs.Patch, "PATCH"},
{HttpVerbs.Options, "OPTIONS"}
};
public static HttpVerbs? GetVerb(string value)
{
var verb = (
from x in Verbs
where string.Compare(value, x.Value, StringComparison.OrdinalIgnoreCase) == 0
select x.Key);
return verb.SingleOrDefault();
}
}
класс базового контроллера приложения
public abstract class BaseAppController : Controller
{
protected HttpVerbs? HttpVerb
{
get
{
var httpMethodOverride = ControllerContext.HttpContext.Request.GetHttpMethodOverride();
return HttpVerbsHelper.GetVerb(httpMethodOverride);
}
}
}