最近、プロジェクトを SignalR 2.0.0-beta1 から 2.0.0-rc1 にアップグレードしました。RC1 で、クロスドメイン リクエストのサポートの構成が変更されたことを理解しています。新しい構文を使用するようにプロジェクトを更新しましたが、ハブと通信しようとすると次のエラーが発生します。
XMLHttpRequest cannot load =1377623738064">http://localhost:8080/negotiate?connectionData=%5B%7B%22name%22%3A%22chathub%22%7D%5D&clientProtocol=1.3&=1377623738064. Origin
http://localhost:7176
is not allowed by Access-コントロール許可オリジン。
クライアント サイトは で実行されて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 });
});
}
}