Asp.net core 无法在本地ASP.NET核心MVC服务之间发出跨源请求
我有两个本地运行的应用程序。一个是Asp.net core 无法在本地ASP.NET核心MVC服务之间发出跨源请求,asp.net-core,asp.net-core-mvc,Asp.net Core,Asp.net Core Mvc,我有两个本地运行的应用程序。一个是https://localhost:44365,另一个是位于https://localhost:44360。web应用程序需要访问web服务 web服务使用cors策略设置,该策略应允许: // For running on local pc services.AddCors(options => { options.AddPolicy("CorsPolicy", builder => builder.Allo
https://localhost:44365
,另一个是位于https://localhost:44360
。web应用程序需要访问web服务
web服务使用cors策略设置,该策略应允许:
// For running on local pc
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
...
app.UseCors("CorsPolicy");
app.useMvc();
...
}
当我运行这两个应用程序并在浏览器中点击web应用程序时,会出现跨源错误:
加载失败:请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为500
来自服务(44365处)的中的标头为:
奇怪的是,我还在所讨论的方法中显示了一个500服务器错误。虽然当应用程序(44360)调用它时,我可以单步执行该方法(在44365中),但该方法中没有500。我可以在呼叫未跨原点时成功呼叫它。您应该使用
资料来源:
在允许来自任何来源的请求之前,请仔细考虑。允许来自任何来源的请求意味着任何网站都可以向您的应用程序发出跨来源请求
此设置将影响和
Access Control Allow Origin标头(本主题后面将介绍)
你想调查的是500人,而不是CORS方面。我的猜测是,你是如何从任何正在运行的程序中发出请求的,这会导致管道中的某些东西爆炸。好吧,那么我认为你遗漏了其他一些东西,你能分享更多的代码吗?显示如何调用此代码?
access-control-allow-credentials: true
access-control-allow-headers: content-type
access-control-allow-origin: https://localhost:44360
options.AddPolicy("AllowAllOrigins",
builder =>
{
builder.AllowAnyOrigin();
});