ハブと永続的な接続で SignalR(1.0.0 alpha 2) を使用する Web アプリ (.NET 4.0 ASP.NET MVC3) があります。
ハブでは、グループを使用して一部のクライアントにプッシュ通知を送信します。
問題は、サーバーがリモートでアクセスされると、デフォルトで長いプーリングになり、永続的な接続のみが機能することです。ハブを使用すると、イベントはサーバーで発生しますが、コールバックはクライアントで呼び出されません。SSE を使用しますが、ローカルで動作します。
私が見つけたのは、クライアントのグループ化と長いプーリング トランスポートの組み合わせが問題を引き起こしていることです。VS2012 を入手できる限り、SignalR のデバッグを試みます。
これを証明するために、このチャットの例を修正して、ハードコードされたグループが使用され、長いプーリングが強制されました。私のマシン (IISExpress) でもサーバー (IIS 7.5) でも機能しません。チャットは、別のトランスポートを使用するか、使用する限り機能します
context.Clients.All.addMessage(message);
それ以外の
context.Clients.Group(groupName).addMessage(message);
これがサンプルプロジェクトです。
それは SignalR のバグですか、それとも何か不足していますか?
私の展開サーバーでSignalRがポート80での長いポーリングにフォールバックするのに、サイトが別のポートで構成されている場合にSSEを使用する理由はありますか?