当前位置:首页 > Windows程序 > 正文

可以的;操作如下: 首先建一个类CrossSiteAttribute:从抽象 ActionFilterAttribute

2024-03-31 Windows程序

在我的之前随笔

中有人问到可以用特性来解决跨域问题吗,答案是必定的,,可以的;操纵如下:

首先建一个类CrossSiteAttribute:从抽象 ActionFilterAttribute 类担任的特性类来创建操纵筛选器或响应筛选器。然后重写要领 OnActionExecuted实现跨域

using System.Web.Http.Filters; namespace Api { public class CrossSiteAttribute : ActionFilterAttribute { private const string Origin = "Origin"; private const string AccessControlAllowOrigin = "Access-Control-Allow-Origin"; private const string originHeaderdefault = "*"; public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) { actionExecutedContext.Response.Headers.Add(AccessControlAllowOrigin, originHeaderdefault); } } }

  最后在你的webapi要领中添加特性即可

[CrossSite] [HttpPost] public string Add() { return "1" + "2"; }

凭据上述要领也是可以解决跨域问题的

备注:

OnActionExecuted 在执行操纵要领后由 ASP.NET MVC 框架挪用。

OnActionExecuting 在执行操纵要领之前由 ASP.NET MVC 框架挪用。

OnResultExecuted 在执行操纵功效后由 ASP.NET MVC 框架挪用。
OnResultExecuting 在执行操纵功效之前由 ASP.NET MVC 框架挪用。

参考链接: https://msdn.microsoft.com/zh-cn/library/system.web.mvc.actionfilterattribute(v=vs.108).aspx

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/35425.html

Jm-杰米博客Jamie
草根站长的技术交流乐园!IT不会不要紧快来好好学习吧!
  • 20786文章总数
  • 7494590访问次数
  • 建站天数
  • 友情链接