【问题标题】:CORS enable in Owin在 Owin 中启用 CORS
【发布时间】:2015-06-15 01:49:39
【问题描述】:

我一直在尝试在 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 似乎不起作用,我得到“请求的资源上不存在‘Access-Control-Allow-Origin’标头”。

我已经尝试了来自网络的所有建议,但仍然没有解决方案。

【问题讨论】:

  • 对于 web-api 你想使用 cors 吗?
  • 是的,我在 appharbor 中托管此 Web 服务,并且“前端”Web 应用程序正在连接到此“Web 服务”。但是,前端没有遇到访问控制允许来源。我的第一个实现是使用 WebApp.Start(url),它是一个控制台应用程序,并且运行良好。

标签: cors owin nancy


【解决方案1】:

我知道这很旧,但您可以检查的另一件事是您的 web.config 正在使用以下 2 个应用程序设置调用 owin 启动:

<add key="owin:AutomaticAppStartup" value="true" />
<add key="owin:AppStartup" value="MyCompany.MyProduct.MyProject.Startup, MyCompany.MyProduct.MyProject" />

【讨论】:

    【解决方案2】:

    你需要做两件事

    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);
        ........
    

    【讨论】:

    • 我不确定我是否做出了正确的实现,但我尝试了这个建议。添加了一个 WebApiConfig 类,但仍然遇到“No 'Access-Control-Allow-Origin'”。 public static void Register(HttpConfiguration config) { var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); }
    • 最后,我能够让它工作。我的 aspnet 程序似乎没有调用我的 WebApiConfig 类的实现。所以我添加了 Global.asax 并从中调用 WebApiConfig 。在 Global.asax 中,public class Global : System.Web.HttpApplication { protected void Application_Start(object sender, EventArgs e) { GlobalConfiguration.Configure(WebApiConfig.Register); } }.
    猜你喜欢
    • 2015-02-03
    • 2015-03-17
    • 2017-01-03
    • 2017-04-24
    • 2014-08-13
    • 2017-01-23
    • 2020-02-18
    • 2013-06-12
    • 2013-01-06
    相关资源
    最近更新 更多