質問

毎日のイベントをスケジュールするために、AzureワーカーロールでQuartz.NETをセットアップしようとしています。試行錯誤の末、ターゲットメソッド内にコードを1行含めると、イベントがまったくトリガーされないことがわかりました

Quarterz.NETの例を基に、オーバーライドされたIJobクラスがあります。メソッドを実行します(スケジューラーとトリガーに登録されています)。

問題のある行(コメント付き)が削除されると、Trace.WriteLineステートメントのブレークポイントに到達できます。これが存在する場合、ブレークポイントに到達することはなく、出力は他の場所に存在しません。

コード: ジェネラコディセタグプレ

このイベントをトリガーしない原因となる評価対象について、私はかなり途方に暮れています。何か提案はありますか?

  • 「MyUpdateWorker」は別のライブラリにあります
  • これは現在、Azureワーカーの役割として実行されています
役に立ちましたか?

解決 2

うわー-これは奇妙なことでした。

このプロジェクトの「有機的な」成長の結果、IJob実装を含むライブラリは、以前はコンソールアプリでしたが、数週間前に出力を「クラスライブラリ」に切り替えました。

プラットフォームのターゲットは(利用可能なもののみ)x86に設定されました。他のすべては「任意のCPU」、おそらく64ビットとしてコンパイルされていました。

これを更新するには、.csprojファイルを手動で編集する必要があったことを思い出しますが、以前のconsole-project-now-libraryをAny CPUに設定すると、正しくトリガーされるようになりました。

他のヒント

MyUpdateWorker()クラスのコンストラクターをチェックして、すべてが正常に機能するかどうかを確認します。診断ログにログを記録して、原因を示す何かがそこにあるかどうかを確認します。通常、Azureでライブラリが欠落しているという問題が発生するため、依存関係が欠落している可能性があります。

確認すべき点がいくつかあります(今朝はコーヒーを2杯しか飲まなかったので、まだウォーミングアップ中です)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top