2015-05-31 2 views
0

Я пытаюсь использовать 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; 

, но все еще получаю ту же ошибку.

Что мне делать?

+0

Downvoted. Название этой проблемы несколько вводит в заблуждение. Это должно быть более ясным, это касается обслуживания файлов вместо HTTP-обслуживания –

ответ

0

Видел с командой SignalR, это работает на http://localhost:port, но не на файле: /// C: /Users/me/Documents/index.html, и это нормально.