Orleans 2.0公式ドキュメント-6.5導入->Azureクラウドサービス導入のトラブルシューティング

4467 ワード

導入のトラブルシューティング
このページでは、Azureクラウドサービスへの導入時に発生する問題を解決するための一般的なガイドラインを示します.これらは非常によくある問題で、注意が必要です.詳細については、ログを必ず確認してください.
SiloUnavailableExceptionの取得
クライアントを初期化しようとする前に、siloが実際に起動していることを確認します.siloを起動するのに時間がかかる場合があるため、クライアントを複数回初期化しようとすると有益です.まだ異常が投げ出されている場合、siloには別の問題がある可能性があります.
silo構成を確認し、siloが正常に起動していることを確認します.
よくある接続文字列の問題
  • がAzureに配備されると、ローカル接続文字列が使用されます.サイトは
  • に接続できません.
  • siloとフロントエンドに対して異なる接続文字列(Webと作業者ロール)を使用する-サイトはsilo
  • に接続できないため、クライアントを初期化できません.
    Azureポータルで、接続文字列の構成を確認できます.接続文字列が正しく設定されていない場合、ログが正しく表示されない可能性があります.
    プロファイルを正しく変更しない
    ServiceDefinitionであることを確認します.csdefファイルに正しいエンドポイントが構成されています.そうしないと、デプロイメントが正常に動作しません.エンドポイント情報を取得できないというエラーメッセージが表示されます.
    ログがありません
    接続文字列が正しく設定されていることを確認します.
    WebロールのWeb b.configファイル、または作業者ロールのapp.configファイル、正しく修正されていない可能性があります.これらのファイルのバージョンが正しくないため、導入の問題が発生する可能性があります.更新の処理には注意してください.
    バージョンの問題
    ソリューション内の各プロジェクトで同じバージョンのOrleansが使用されていることを確認します.そうしないと、作業者の役割が回収されます.詳細については、ログを参照してください.Visual Studioでは、導入履歴にsilo起動時のエラーメッセージがいくつか表示されます.
    ロールの回収
  • 対応するすべてのOrleansプログラムセットがソリューションに存在するかどうかを確認し、「ローカルにコピー」をTrueに設定します.
  • ログをチェックして、初期化時に未処理の例外があるかどうかを確認します.
  • 接続文字列が正しいことを確認します.
  • 詳細については、Azureクラウドサービスのトラブルシューティングページを参照してください.

  • ログのチェック方法
  • Visual Studioのクラウドブラウザを使用して、ストレージアカウントの対応するストレージテーブルまたはblobにナビゲートします.WADlogsTableはログを表示するのに良い切り込み点です.
  • エラーのみを記録することができます.情報ログが必要な場合は、構成を変更してログ・レコードの重大度レベルを設定する必要があります.

  • プログラム構成:
  • ClusterConfigurationオブジェクトを作成する場合は、config.Defaults.DefaultTraceLevel = Severity.Infoを設定します.
  • ClientConfigurationオブジェクトを作成する場合は、config.DefaultTraceLevel = Severity.Infoを設定します.

  • 宣言構成:
  • OrleansConfiguration.xmlおよび/またはClientConfiguration.xmlファイルに、が追加される.

  • Webおよびワーカーロールのdiagnostics.wadcfgxファイルでは、Logs要素のscheduledTransferLogLevelFilterプロパティがInformationに設定されていることを確認してください.これは、Azureストレージに送信する追跡を定義するための追加の追跡フィルタレイヤであるため、WADLogsTableに設定されています.
    このコンテンツの詳細については、「コンフィギュレーションガイド」を参照してください.
    ASPとNETの互換性
    ASP.NETに含まれるRazorビューエンジンは、Orleansと同じコードを使用してプログラムセット(Microsoft.CodeAnalysisおよびMicrosoft.CodeAnalysis.CSharp)を生成する.これは、実行時にバージョン互換性の問題が発生する可能性があります.
    この問題を解決するには、上記のプログラムセットを含むNuGetパッケージ用のASP.NET Microsoft.CodeDom.Providers.DotNetCompilerPlatformを最新バージョンにアップグレードし、次のようにバインドリダイレクトを設定します.
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.CodeAnalysis.CSharp" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="1.3.1.0" />
    dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.CodeAnalysis" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="1.3.1.0" />
    dependentAssembly>