Tag: 科尔斯

使用CORS的应用程序在Azure中不起作用

我已将我的应用程序配置为使用CORS。 一切都在我的本地环境中完美运行,但在将应用程序部署到Azure后,我们收到以下错误: 请求的资源上不存在“Access-Control-Allow-Origin”标头。 当我在我的计算机上运行应用程序并使用DHC chrome扩展创建原始标头时,它确实有效: Access-Control-Allow-Credentials: true Access-Control-Allow-Origin: http://mysite.s3-website-eu-west-1.amazonaws.com Access-Control-Expose-Headers: Location,Finished 这是我使用的代码/配置: 的Global.asax.cs protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register); } WebApiConfig.cs public static void Register(HttpConfiguration config) { config.EnableCors(new MyCorsPolicyAttribute()); config.MapHttpAttributeRoutes(); } MyCorsPolicyAttribute.cs public class MyCorsPolicyAttribute : Attribute, ICorsPolicyProvider { private CorsPolicy _policy; public MyCorsPolicyAttribute() { _policy = new CorsPolicy { AllowAnyMethod = true, AllowAnyHeader = true, […]

部署在Azure Web App / Azure API上时缺少CORS标头

我创建了一个OWIN托管的WebAPI 2 。 还有一个Web应用程序( AngularJS ),它使用API​​并充当客户端。 我已经将必要的CORS代码添加到Startup.cs ,并将其托管在不同于客户端的端口上的本地IIS中,并确认它修复了Cors问题。 然后,我将这两个应用程序部署到Azure(我已将两者都放在Azure上作为Web应用程序,我也尝试将OWIN放到当前处于预览状态的Azure API中)但是 – 预检请求现在失败了(没有Access-Control-Allow-Origin出现在响应中)。 问:我不知道Azure的某些特定内容吗? 为什么OWIN在部署时没有提供此标头,但是它正在使用localhost? 我在应用程序的Azure刀片设置的属性窗口中看不到任何约束。 笔记: 关于我正在使用的设置的一些细节: 使用Owin , WebAPI2 , Ninject , SignalR 在每个后续请求的头文件中发布并提供自定义令牌,并使用自定义filter进行validation。 我现在正在尝试的是* Startup.cs的相关部分: public void Configuration(IAppBuilder appBuilder) { appBuilder.UseCors(CorsOptions.AllowAll); HttpConfiguration config = new HttpConfiguration(); config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; //bind IClientsNotifier with method returning singleton instance of hub var ninjectKernel = NinjectWebCommon.GetKernel(); ninjectKernel.Bind().ToSelf().InSingletonScope(); […]