Я пытаюсь использовать SignalR с моим приложением MVC6, но у меня возникает проблема с CORS.SignalR, ASP.NET 5 и CORS
Во-первых: Если я размещаю файл index.html на http://localhost:1234/index.html (то же самое, что и в моем веб-приложении), он работает. Но когда я разместить его в другом месте (например, в файле: /// C: /Users/me/Documents/index.html), у меня есть эта ошибка:
Нет «Access-Control-Allow-Origin 'присутствует на запрошенном ресурсе . Поэтому исходный 'null' не допускается.
Конечно, я пытаюсь включить CORS, это мой файл запуска:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSignalR();
services.AddCors();
var policy = new Microsoft.AspNet.Cors.Core.CorsPolicy();
policy.Origins.Add("*");
policy.Headers.Add("*");
policy.Methods.Add("*");
services.ConfigureCors(x => x.AddPolicy("allowall", policy));
}
public void Configure(IApplicationBuilder app)
{
app.UseCors("allowall");
app.UseSignalR();
app.UseMvc();
}
}
Но теперь у меня есть другая ошибка:
А символ '*' не может быть использован в заголовке «Access-Control-Allow-Origin» , когда флаг учетных данных является истинным. Origin 'null' поэтому не разрешен доступ.
Тогда я пытаюсь с:
policy.SupportsCredentials = false;
, но все еще получаю ту же ошибку.
Что мне делать?
Downvoted. Название этой проблемы несколько вводит в заблуждение. Это должно быть более ясным, это касается обслуживания файлов вместо HTTP-обслуживания –