大佬教程收集整理的这篇文章主要介绍了ASP.net MVC5中的asp.net-mvc – CORS,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我基本上想要在这篇文章中提到的确切的事情:
http://enable-cors.org/server_aspnet.html
但是,问题是我有一个常规的MVC项目而不是一个WEB API,这意味着我无法遵循注册的步骤
public static void Register(httpConfiguration config) { // New code config.EnableCors(); }
方法,因为它不存在于我的MVC项目中。
我知道我可以通过web.config配置它:
<httpProtocol> <customHeaders> <clear /> <add name="Access-Control-Allow-Origin" value="http://www.domain.com" /> </customHeaders> </httpProtocol>
但是我不想公开所有的方法,我想指定多个域(2个域)来访问我的方法…
您应该创建一个操作过滤器并将标题设置在那里。您可以随时随地使用此操作过滤器对您的操作方法。
public class AllowCrossSiteJsonAttribute : ActionFilterAttribute { public override void OnActionExecuTing(ActionExecuTingContext filterContext) { filterContext.requestContext.httpContext.Response.AddHeader("Access-Control-Allow-Origin","*"); base.onActionExecuTing(filterContext); } }
如果要添加多个域,您不能只是多次设置标题。在您的操作过滤器中,您将需要检查请求域是否来自您的域列表,然后设置标题。
public override void OnActionExecuTing(ActionExecuTingContext filterContext) { var domains = new List<String> {"domain2.com","domain1.com"}; if (domains.Contains(filterContext.requestContext.httpContext.request.UrlReferrer.Host)) { filterContext.requestContext.httpContext.Response.AddHeader("Access-Control-Allow-Origin","*"); } base.onActionExecuTing(filterContext); }
以上是大佬教程为你收集整理的ASP.net MVC5中的asp.net-mvc – CORS全部内容,希望文章能够帮你解决ASP.net MVC5中的asp.net-mvc – CORS所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。