在Owin中启用CORS
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Owin中启用CORS相关的知识,希望对你有一定的参考价值。
我一直在尝试在OWIN上运行的ASP.Net应用程序中启用CORS。
这是我的代码:
public class Startup
{
public void Configuration(IAppBuilder app)
{
//Enable CORS
//Use JWTOwinAuth middleware
//Use Nancy framework
app
.UseCors(CorsOptions.AllowAll)
.Use(typeof(JwtOwinAuth))
.UseNancy();
}
}
CorsOptions.AllowAll似乎不起作用,我得到“No'Access-Control-Allow-Origin'标头出现在请求的资源上”。
我已经尝试过网络上的所有建议,但解决方案仍无效。
答案
你需要做两件事
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
........
(你已经完成了这个)
public void ConfigureAuth(IAppBuilder app)
{
app.UseCors(CorsOptions.AllowAll);
........
另一答案
我知道这是旧的,但你可以检查的另一件事是你的web.config用这两个应用程序设置调用owin启动:
<add key="owin:AutomaticAppStartup" value="true" />
<add key="owin:AppStartup" value="MyCompany.MyProduct.MyProject.Startup, MyCompany.MyProduct.MyProject" />
以上是关于在Owin中启用CORS的主要内容,如果未能解决你的问题,请参考以下文章
Owin Self Host WebApi2 上的 CORS 错误
WebApi 上的 AngularJS 和 OWIN 身份验证