【发布时间】:2021-08-03 14:26:15
【问题描述】:
我在前端使用 DOT NET FRAMEWORK 4.5.2 和 Angular 6 制作的应用程序遇到 CORS 问题 这是我尝试过的。
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
//EnableCorsAttribute cors = new EnableCorsAttribute("http://localhost:4200", "*", "GET,POST");
config.EnableCors();
// Web API routes
}
我也尝试添加我的本地主机地址。它不起作用。 我也添加了一个 CorsPolicy,但也没有用。
public class MyApiCorsPolicy : Attribute, ICorsPolicyProvider
{
private System.Web.Cors.CorsPolicy _policy;
public MyApiCorsPolicy()
{
// Create a CORS policy.
_policy = new System.Web.Cors.CorsPolicy
{
AllowAnyMethod = true,
AllowAnyHeader = true,
SupportsCredentials = true
};
}
public Task<System.Web.Cors.CorsPolicy> GetCorsPolicyAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
{
// Add the Request origin to the response.
_policy.Origins.Add(request.GetCorsRequestContext().Origin);
return Task.FromResult<System.Web.Cors.CorsPolicy>(_policy);
}
上面这段代码是WebApiConfig.cs
这是 StartUp.cs
public void Configuration(IAppBuilder app)
{
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll); ConfigureAuth(app);
ConfigureAuth(app);
}
【问题讨论】:
-
IServiceCollection 需要外部 Nuget 包。您是否在 Framework 4.5.2 版本中尝试过? @alterfox