0

Nuget から Windows Azure Caching 2.1.0.0 をインストールし、この SO answerの指示に従って、Azure SDK 2.1 を使用して worker ロールでクライアント ライブラリ診断のコレクションを構成しました。

残念ながら、開発ファブリックでアプリケーションを起動すると、次の例外が発生します。構成ファイルに問題がある理由がわかりません。このエラーを検索しましたが、私のケースに関連するものは何も見つかりませんでした。

Microsoft.ApplicationServer.Caching.DataCacheException was caught
ErrorCode=9004
HelpLink=http://go.microsoft.com/fwlink/?LinkId=164049
HResult=-2146233088
Message=ErrorCode<ERRCMS0004>:SubStatus<ES0001>:Configuration file
(file name:"{0}") not found.
Source=Microsoft.ApplicationServer.Caching.Core
SubStatus=-1
StackTrace:
   at Microsoft.ApplicationServer.Caching.ConfigFile.
     ThrowException(Int32 errorCode)
   at Microsoft.ApplicationServer.Caching.AzureCommon.
     MemcacheUtility.GetRoleConfigPath()
   at Microsoft.ApplicationServer.Caching.AzureCommon.
     CacheDiagnostics.ConfigureMemcacheShimCrashDumps
     (DiagnosticMonitorConfiguration diagnosticMonitorConfig)
   at Microsoft.ApplicationServer.Caching.AzureCommon.
      CacheDiagnostics.ConfigureDiagnostics
      (DiagnosticMonitorConfiguration diagnosticMonitorConfig, 
      String diagnosticsStorageAccountConfigurationSettingName)
   at Microsoft.ApplicationServer.Caching.AzureCommon.
      CacheDiagnostics.ConfigureDiagnostics(
      DiagnosticMonitorConfiguration diagnosticMonitorConfig)
4

2 に答える 2

0

Microsoft.ApplicationServer.Caching.AzureCommonILSpy を使用してアセンブリを調べたところ、がロールCacheDiagnostics.ConfigureDiagnosticsを検索する関数を発見しました。Azure 環境では、両方のファイルをチェックしますが、コンピューティング エミュレーターを検出した場合は のみをチェックします。IMHO これはライブラリのバグです (キャッシングは主に Web ロールから使用されているように見えるため、おそらくそれほど重要ではありません)。web.config*.dll.configweb.config

次にapp.config、worker ロールの をコピーし、名前を変更しweb.configてプロジェクト出力にコピーするように設定しました。このようにして、CacheDiagnostics.ConfigureDiagnostics例外なく呼び出すことができました。

于 2013-10-03T18:07:21.220 に答える