2

Redis バックプレーン スケールアウトで SignalR を使用しています。現在、Microsoft.AspNet.SignalR.Redisパッケージには への依存関係がありStackExchange.Redis.StrongNameます。

アプリケーションですでに Redis を使用していたので、StackExchange.Redisパッケージをインストールしました。

Microsoft.AspNet.SignalR.RedisRedis の厳密な名前のパッケージへの依存関係をインストールし、インストールしないことを選択すると、アプリケーションが動作しなくなります (クライアントはサーバーに接続しません。すべての接続方法を試行し、にフォールバックしますlongPollingが、失敗します)。

奇妙なことに、インストールするとStackExchange.Redis.StrongName(この時点で、厳密な名前のバージョンと通常のバージョンの両方があるため、Redis のすべてのタイプの識別子が重複しています)、厳密な名前のパッケージをアンインストールすると、すべてが機能し始めます。(厳密な名前のパッケージに依存関係がない場合でも)。

私の質問 - 厳密な名前のパッケージには、SignalR が使用する特定のものが含まれていますか (そして、アプリケーションを削除した後にアプリケーションが機能するのはなぜですか?)

ありがとう!

4

1 に答える 1

2

おそらく、厳密な名前の redis dll が bin フォルダーに残っています。クリーン ビルドを実行し、引き続き機能するかどうかを確認します。

解決策は、StackExchange.Redis.StrongName パッケージに移行することです。

于 2015-10-06T23:57:28.390 に答える