所属分类:ASP.NET教程
今天在开发asp.net mvc进行get时,提示错误:此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站。若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet.
这个就比较烦了,要在每个get请求方法设置一下允许Get就太low,有没有一劳永逸的办法,当然有啦!
asp.net mvc 全局设置JsonRequestBehavior.AllowGet,代码如下:
public class JsonRequestBehaviorAttribute : ActionFilterAttribute { private JsonRequestBehavior Behavior { get; set; } public JsonRequestBehaviorAttribute() { Behavior = JsonRequestBehavior.AllowGet; } public override void OnResultExecuting(ResultExecutingContext filterContext) { var result = filterContext.Result as JsonResult; if (result != null) { result.JsonRequestBehavior = Behavior; } } }
然后在Controller加上[JsonRequestBehavior],如下:
[JsonRequestBehavior] public class BaseController : Controller { }
不过人家微软说了,这样会导致信息泄露,如果只是一两允许Get,就直接设置得了.