1

そのため、つい最近、私のメイン コンピューターで Window Azure エミュレーターの問題が発生し始めました。エミュレータを使用してソリューションをデバッグしようとすると、接続しようとしてループしてしまいます。

これは、出力ウィンドウに表示されるものです。

> iisexpress.exe Warning: 0 : WARNING: <SimpleSendReceiveModule> d8c9fa85-ded3-48ad-94a3-ec31e2123bb3:Request - 1, result - Status=ChannelOpenFailed[System.Net.Sockets.SocketException (0x80004005): No connection could be made because the target machine actively refused it 127.255.0.0:20004
  at Microsoft.ApplicationServer.Caching.AsyncResultNoResult.EndInvoke()
  at Microsoft.ApplicationServer.Caching.AsyncResult`1.EndInvoke()
  at Microsoft.ApplicationServer.Caching.TcpClientChannelFactory.EndConnect(IAsyncResult asyncResult)
  at 

Microsoft.ApplicationServer.Caching.TcpClientChannel.ConnectionCallback(IAsyncResult result)] for end point [net.tcp://127.255.0.0:20004]
Microsoft.WindowsAzure.ServiceRuntime Verbose: 500 : Role instance status check starting
Microsoft.WindowsAzure.ServiceRuntime Verbose: 502 : Role instance status check succeeded: Ready
Microsoft.WindowsAzure.ServiceRuntime Verbose: 500 : Role instance status check starting
Microsoft.WindowsAzure.ServiceRuntime Verbose: 502 : Role instance status check succeeded: Ready
Microsoft.WindowsAzure.ServiceRuntime Verbose: 500 : Role instance status check starting
Microsoft.WindowsAzure.ServiceRuntime Verbose: 502 : Role instance status check succeeded: Ready
Microsoft.WindowsAzure.ServiceRuntime Verbose: 500 : Role instance status check starting
Microsoft.WindowsAzure.ServiceRuntime Verbose: 502 : Role instance status check succeeded: Ready
iisexpress.exe Warning: 0 : WARNING: <DistributedCache.SocketClientChannel.1> Request 1 to host net.tcp://127.255.0.0:20004/ failed Status=ChannelOpenFailed[System.Net.Sockets.SocketException (0x80004005): No connection could be made because the target machine actively refused it 127.255.0.0:20004
   at Microsoft.ApplicationServer.Caching.AsyncResultNoResult.EndInvoke()
   at Microsoft.ApplicationServer.Caching.AsyncResult`1.EndInvoke()
   at Microsoft.ApplicationServer.Caching.TcpClientChannelFactory.EndConnect(IAsyncResult asyncResult)
   at Microsoft.ApplicationServer.Caching.TcpClientChannel.ConnectionCallback(IAsyncResult result)]
iisexpress.exe Warning: 0 : WARNING: <SimpleSendReceiveModule> d8c9fa85-ded3-48ad-94a3-ec31e2123bb3:Request - 1, result - Status=ChannelOpenFailed[System.Net.Sockets.SocketException (0x80004005): No connection could be made because the target machine actively refused it 127.255.0.0:20004

調査の結果、127.255.X.XIP は、エミュレーターが内部ロード バランサーから作成した IP であることがわかりました。私が理解できないのは、なぜ私のマシンがこの接続を受け入れたくないという判断を下したのかということです。すべてのファイアウォールをオフにし、Visual Studio を再インストールし、Windows azure を完全に再インストールしましたが、まだ運がありません。私の同僚と私のセカンダリ マシンには問題がないので、これは間違いなくコード ベースではありません。ただし、セカンダリ マシンで作業するのは好ましくないので、これを機能させたいのですが、この時点で私の知識がどこにあるかについて、マシンを完全にフォーマットする必要のない解決策を見つけたいと思っています。

現在、Azure、Visual Studio 2012、および .net 4.5 の 2012 年 10 月リリースを実行しています。

どんな助けでも大歓迎です。

4

1 に答える 1

2

Windows 8 の Azure SDK 2.0 でも同様の問題がありましたが、Windows 7 の Azure SDK 1.8 では問題はありませんでした。あなたと同じように、最初はネットワーク関連の問題を考えていました。その後、キャッシュを無効にしようとしたところ、クラウド プロジェクトの他のロールが、別のエラー メッセージでキャッシュ サービスが利用できないことを正しく認識していることに気付きました。

私の経験では、問題は地域の設定、特に長い時間形式の指定方法に関連している可能性があります。このSO の質問から、キャッシュ エミュレーターがlogman.exeログの目的でcnf使用し、地域の設定 (たとえば、イタリアの設定の Windows 8 マシン) から長い時間形式を使用してパラメーターに期間を渡すことを発見しましHH.mm.ssたが、実際cnfには期間が必要ですHH:mm:ss(ドットの代わりにコロンを使用して)正確な形式にする必要があります。Long Time 形式を変更した後、Computer Emulator でキャッシュが正しく機能するようになりました。

次の解決策も検討できます。

  • MSDN フォーラムのこのスレッドで提案されているように、コンピューターを再起動します。
  • このSO スレッドで提案されているように、キャッシュに 2 つのインスタンスを使用します。
于 2013-05-03T17:44:48.440 に答える