.net framework 添加跨域请求
时间: 2023-07-19 09:26:33 浏览: 79
Pro+ASP.NET+MVC+Framework
在 .NET Framework 中,可以通过在 Global.asax.cs 文件中添加以下代码来启用跨域请求:
```csharp
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
HttpContext.Current.Response.End();
}
}
```
上述代码中,Access-Control-Allow-Origin 头信息设置为 *,表示允许所有域名访问该接口。如果希望只允许指定的域名访问该接口,可以将 * 替换为指定的域名。
当请求方法为 OPTIONS 时,表示浏览器发送的是预检请求,此时需要设置 Access-Control-Allow-Methods、Access-Control-Allow-Headers 和 Access-Control-Max-Age 等头信息,告诉浏览器该接口支持的请求方法、请求头和缓存时间等信息。最后需要调用 Response.End() 方法结束请求,否则会继续执行后续的请求处理逻辑,导致请求失败。
阅读全文