1

ハブと永続的な接続で 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を使用する理由はありますか?

4

1 に答える 1

4

自動再参加グループを有効にする必要があります。

これを起動コードに貼り付けます。

GlobalHost.HubPipeline.EnableAutoRejoiningGroups();

于 2012-12-18T14:40:44.070 に答える