C# 401.2从MVC项目调用WEB API时的响应
我正在通过Visual studio在端口49374上本地运行一个WEB API项目 然后,我通过VS在端口57062上本地运行一个MVC项目 我正试图从MVC项目(57062)调用我的WEB API项目(49374)中的API,但得到了401.2响应,请参见以下内容: 当我直接从浏览器调用API时,它工作得很好 CORS在Web API Web配置中设置如下:C# 401.2从MVC项目调用WEB API时的响应,c#,asp.net-web-api,cors,C#,Asp.net Web Api,Cors,我正在通过Visual studio在端口49374上本地运行一个WEB API项目 然后,我通过VS在端口57062上本地运行一个MVC项目 我正试图从MVC项目(57062)调用我的WEB API项目(49374)中的API,但得到了401.2响应,请参见以下内容: 当我直接从浏览器调用API时,它工作得很好 CORS在Web API Web配置中设置如下: 我不知道这个问题可能是什么——有人能提出什么建议吗?我也遇到过同样的问题。IIS Express似乎未使用web.config
我不知道这个问题可能是什么——有人能提出什么建议吗?我也遇到过同样的问题。IIS Express似乎未使用web.config中的自定义标题
我通过在global.asax.cs中添加以下内容来修复它:
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
if (Context.Request.Headers.AllKeys.Contains("Origin"))
{
Context.Response.AddHeader("Access-Control-Allow-Origin", "http://localhost:57062");
Context.Response.AddHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
Context.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, PATCH, OPTIONS");
Context.Response.AddHeader("Access-Control-Allow-Credentials", "true");
if (Context.Request.HttpMethod == "OPTIONS") Context.Response.End();
}
}
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
if (Context.Request.Headers.AllKeys.Contains("Origin"))
{
Context.Response.AddHeader("Access-Control-Allow-Origin", "http://localhost:57062");
Context.Response.AddHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
Context.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, PATCH, OPTIONS");
Context.Response.AddHeader("Access-Control-Allow-Credentials", "true");
if (Context.Request.HttpMethod == "OPTIONS") Context.Response.End();
}
}