我最近将一个项目从 SignalR 2.0.0-beta1 升级到 2.0.0-rc1。我知道在 RC1 中,对跨域请求的支持配置发生了变化。我已经更新了我的项目以使用新语法但是我现在在尝试与我的集线器通信时遇到以下错误:
XMLHttpRequest 无法加载 =1377623738064">http://localhost:8080/negotiate?connectionData=%5B%7B%22name%22%3A%22chathub%22%7D%5D&clientProtocol=1.3&=1377623738064。访问
http://localhost:7176
不允许来源-控制允许来源。
客户端站点正在运行,http://localhost:7176
并且集线器正在通过控制台应用程序在http://localhost:8080
. 我在这里错过了什么吗?在我升级到 RC1 之前,跨域请求正在工作。
控制台应用程序入口点
static void Main(string[] args)
{
var chatServer = new ChatServer();
string endpoint = "http://localhost:8080";
chatServer.Start(endpoint);
Console.WriteLine("Chat server listening at {0}...", endpoint);
Console.ReadLine();
}
聊天服务器类
public class ChatServer
{
public IDisposable Start(string url)
{
return WebApp.Start<Startup>(url);
}
}
启动配置
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.Map("/signalr", map =>
{
map.UseCors(CorsOptions.AllowAll);
map.RunSignalR(new HubConfiguration { EnableJSONP = true });
});
}
}