- A+
所属分类:.NET技术
CORS跨域访问问题往往出现在“浏览器客户端”通过ajax调用“服务端API”的时候。而且若是深究原理,还会发现跨域问题其实还分为【简单跨域】与【复杂跨域】这两种情况。
网上对解决跨域限制有很多说明文章,但绝大多数要么解决的不完善(比如,没有区分【简单跨域】与【复杂跨域】),要么就是解决方案过于复杂化,代码量巨大。
本文提供一种极度简单且十分完善的跨域访问限制解决方案,只需一行代码(仅支持.Net Framework)。即在服务端开发工程中添加Global.asax文件,并让类继承自DeveloperSharp.Structure.Base.Global即可(需从NuGet引用DeveloperSharp包)。代码如下:
public class Global : DeveloperSharp.Structure.Base.Global { }
如此,就解决了跨域访问问题。
(若需要解决.Net Core跨域问题,请参看这篇文章:.Net Core跨域实现)
另外,此时若需要使用Application_Start等方法,则形式上需要稍做变化。示例如下:
public class Global : DeveloperSharp.Structure.Base.Global { protected override void ApplicationStart(object sender, EventArgs e) { Application["count"] = 100; } protected override void SessionStart(object sender, EventArgs e) { Application["count"] = Convert.ToInt32(Application["count"]) + 1; } }