我有一個aspnetcore web api被一個在本地工作正常的angularjs應用程序調用。我啓用了CORS,因爲這是我現在可以讓客戶端使用API的唯一方式(這似乎是有道理的,現在我需要擔心其他事情)。CORS升級到aspnetcore 2.0後無法正常工作
升級到aspnetcore 2.0今日(因爲它有幾個特點,我可以真正使用)之後,我現在只是拿到我用使CORS之前得到了同樣的錯誤:
否「訪問控制-Allow-Origin'標題出現在請求的資源上。
我已將所有dotnetcore軟件包升級到版本2.0(包括Microsoft.AspNetCore.Cors)。
這可能是值得指出的是,如下我還沒有做出我的啓動或配置改動任何代碼是:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
app.UseCors(builder => builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());
app.UseMvc();
}
public void ConfigureServices(IServiceCollection services)
{
services.Configure<Models.SmtpConfig>(Configuration.GetSection("Smtp"));
services.AddCors();
services.AddMvc();
}
由於這一切之前規定的罰款與aspnetcore 1.1和FYI我打算限制生產中的CORS,因此它只接受來自給定子域的呼叫,但目前尚未解決。
檢查瀏覽器開發工具中的響應。當服務器實際上沒有處理請求並且發送了500請求(在這種情況下,CORS頭文件未被設置)時,我經常會遇到這種情況。 – poke
這是錯誤,我知道這是發生,但我不知道他們爲什麼沒有被設置! –
再次閱讀我的評論,並檢查瀏覽器開發工具中的網絡選項卡。 *「否」Access-Control-Allow-Origin'頭文件'*是執行請求的瀏覽器發生錯誤,但是頭文件丟失的原因可能是由於服務器錯誤。 – poke