1

ドキュメントを生成するASP.NETWebサイトがあります。各ドキュメントの生成には時間がかかり、多くのドキュメントリクエストがあるため、Quartz.NETを使用してリクエストをプールし、再起動しても永続化し、より良いエクスペリエンスのためにユーザーに配信するというアイデアを模索しています。

Quartz.Server.exeダウンロードに含まれており、フロントエンドが実行されていない場合でもQuartzジョブを実行するためのデーモンのようです。これは明らかに私のようなWebシナリオに最適です。

主な問題は、Quartz.Server.exeが提供したジョブタイプをインスタンス化できないことです。

Could not load file or assembly 'quartztest01' or one of its dependencies. The system cannot find the file specified. --

quartztest01私のアセンブリはGACになくQuartz.Server.exe、アセンブリについて何も知らないため、これは理にかなっています。しかし、私がこれを解決しようとすると、多くの疑問が生じます。

  1. 私は自分のアセンブリをGACに入れたくないと思います。どうすればこれを達成できますか?Quartz.Server.exe私のアセンブリを参照して再構築しますか?
  2. 私も正しいアプローチを取っていますか?フロントエンドはQuartz.Server.exe、同じデータストアを使用しており、クラスター化されたものとして構成されていますが、動作することを心配しています。
  3. Quartz.Server.exe実稼働用でもありますか?サンプルジョブを作成しているように見えますが、これは単なる例として意図されていることを示しています。自分のニーズに合わせてこのexeを変更する必要がありますか?
  4. このコンソールアプリケーションではなく、正規のWindowsサービスとしてQuartz.NETをインストールするための最良の方法は何ですか?
4

2 に答える 2

2
  1. GAC にインストールする必要はありません。アセンブリが Quartz.dll と同じフォルダーにあること、またはアセンブリを見つけるための通常の手法を使用してフレームワークがアセンブリを見つけることができることを確認してください。
  2. はい、UI をクライアントとして動作させることは非常に一般的であるため、同じストアを指す必要があります。UI がサーバーとしても機能する場合を除き、スケジューラーをクラスターとして設定することは一般的ではありません。
  3. はい。Quartz.Server.exe install は、サービスとしてインストールします。
  4. @Jamesコメントのリンクがこれに対する答えです。

FWIW、サービスとして Quartz.net をインストールすることは、Web アプリケーションのライフサイクルが IIS によって管理される方法により、ASP.Net Web アプリに埋め込むよりも通常は優れたソリューションです。

于 2012-05-14T19:07:03.313 に答える
1

アセンブリをサーバーexeと同じディレクトリに置くだけで、正常にロードされます。probePath も使用できますが、これにはおそらく必要ありません。

于 2012-05-14T04:18:21.753 に答える