当机器人使用HEAD攻击我的ASP.NET MVC站点时,我想正确支持HTTP HEAD请求.我注意到,对网站的所有HTTP HEAD请求都返回404,特别是来自http://downforeveryoneorjustme.com.哪个真烦人.希望他们像其他所有好机器人一样切换到GET.
如果我只是[AcceptVerbs(HttpVerbs.Get)]改为[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Head)]将MVC知道放弃请求的正文?
你做了什么来支持HTTP HEAD请求?(代码示例会很棒!)
如果我已经使用[AcceptVerbs(..)]属性修饰了我的动作方法,我是否必须在路线定义中注册HttpVerb约束(当我注册路线时)?
例如.我有这个.
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(FormCollection formCollection)
{ .. }
Run Code Online (Sandbox Code Playgroud)
我是否需要将此添加到引用此操作的路由中,作为约束?
如果我创建一个控制器动作并且不用它装饰它AcceptVerbs,HttpPost或者HttpGet.什么是默认行为?
该操作是否允许任何访问方法或默认为GET?
这里RedirectToAction()不会调用ActionResult索引.我需要为此注册路线吗?
[ActionName("onchange")]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult OnChange(int i)
{
m_NumberOfVisibleItems = i;
return RedirectToAction("Index");
}
Run Code Online (Sandbox Code Playgroud) acceptverbs ×4
asp.net-mvc ×3
http ×1
http-get ×1
http-head ×1
http-post ×1
http-verbs ×1
routes ×1
routing ×1