使用筛选器特性标记方法解决webapi 跨域问题
2021-04-21 17:27
阅读:385
在我的之前随笔
中有人问到可以用特性来解决跨域问题吗,答案是肯定的,可以的;操作如下:
首先建一个类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
上一篇:c#学习系列之委托与事件
下一篇:企业信使短信接口API代码示例
文章来自:搜素材网的编程语言模块,转载请注明文章出处。
文章标题:使用筛选器特性标记方法解决webapi 跨域问题
文章链接:http://soscw.com/index.php/essay/77698.html
文章标题:使用筛选器特性标记方法解决webapi 跨域问题
文章链接:http://soscw.com/index.php/essay/77698.html
评论
亲,登录后才可以留言!