Quartz.NETジョブを作成しているときに問題が発生します(重要な場合は、チームが開発しているWebアプリケーションに埋め込まれているQuartz.NETのコピーを使用して)。同じアプリケーションの一部であるコントローラー/アクションメソッド。
このリンクを生成するには、ハードコーディングが避けられないことはわかっていますが(実際のセッションが作成されていないため)、ハードコーディングはできるだけ少なくして、少なくとも変更の余地があるようにします。イベント私のチームは最終的にアプリのアーキテクチャを再編成したいと考えています。ありがたいことに、Quartzジョブで使用するUrlHelperオブジェクトを手動で作成する方法を見つけることができました(ASP.NET MVCのモデルでUrlHelperを呼び出すを参照)。
私の問題は、HttpRequestオブジェクトに格納されているアプリケーションの仮想パスを手動で設定する方法が必要なことです。これは、使用しているWebサイトのルートにWebアプリがないためです。
私がこれを行う方法を知っていますか?HttpRequest.ApplicationPathプロパティを設定/変更する方法、またはそのプロパティのデータの取得元をGoogleで検索しようとしましたが、関連するものは何も見つかりませんでした。
結局のところ、HttpRequest.ApplicationPathプロパティは空でした(HttpRequestオブジェクトを手動で作成した結果だと思います)。そのため、最終的には、Configオブジェクトの静的フィールドにアプリケーションパスをハードコーディングして使用しました。代わりに。
@AntLac:ご協力ありがとうございます。あなたの答えもうまくいったでしょう。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加