私のウェブアプリはバックグラウンドでいくつかの計算を行う必要があります。複数のソリューションを調査しましたが、すべての計算をトリガーするSQLジョブではなく、ビジネスロジックを使用したいと思います。数日間の調査の後、私はまだ自分のケースに最適な解決策が何であるかを確信していません。
多くの記事で、Quartz.NET、個別のWindowsサービス(ただし、ほとんどの共有Webホストサービスではオプションではないと思います)、Windowsタスクなどについて言及しています...
計算をビジネスロジックに保持するために、計算を自動的に実行してそのアクションの結果を返す専用の「タスク」コントローラーを使用してWebアプリケーションを拡張します。
Q1:Quartz.NETのタイミングWebリクエストを使用してコントローラーを呼び出すことはそれほど難しくありませんが、どうすればそれを保護できますか?[承認]属性を「タスク」コントローラーに追加すると、リクエストがブロックされます。(インターネットWebアプリケーションでフォーム認証を使用していることに注意してください)インターネット上のユーザーが「タスク」コントローラーを起動できないようにします。
Q2:また、共有Webホストサービスが個別のWindowsサービスまたはリモートデスクトップ接続のインストールをサポートしていないと私が考えていることが正しい場合、2つのオプションがあります。
共有WebホストサービスでWindowsタスクがサポートされていることを願っています(ただし、これは認証資格情報を使用して呼び出すことができますか?)
私のapplication_startからQuartz.NETを起動します(これは確かに理想的なソリューションではありません...)
前もって感謝します
Kr