gpt4 book ai didi

c# - 使用 CORS 的应用程序无法在 Azure 中运行

转载 作者:行者123 更新时间:2023-12-03 03:12:22 25 4
gpt4 key购买 nike

我已将我的应用程序配置为使用 CORS。一切都在我的本地环境中完美运行,但将应用程序部署到 Azure 后,我们收到以下错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource.

当我在计算机上运行该应用程序并使用 DHC chrome 扩展创建原始 header 时,它确实有效:

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,
SupportsCredentials = true
};

_policy.ExposedHeaders.Add("Location");
_policy.ExposedHeaders.Add("Finished");

// Add allowed origins.
_policy.Origins.Add("http://mysite.s3-website-eu-west-1.amazonaws.com");
_policy.Origins.Add("http://localhost:81");//for testing purposes;
}
public Task<CorsPolicy> GetCorsPolicyAsync(HttpRequestMessage request)
{
return Task.FromResult(_policy);
}

public Task<CorsPolicy> GetCorsPolicyAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
return Task.FromResult(_policy);
}
}

最后是web.config

<system.webServer>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="WebDav" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>

为什么上面的方法在Azure环境中不起作用?

最佳答案

最近,Azure API 应用程序(现已过时并已统一到应用程序服务中)不再遵守代码定义的 CORS header 。部署到新的应用服务实例。

关于c# - 使用 CORS 的应用程序无法在 Azure 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35432709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com