特定の日付が発生したとき、またはいくつかのビジネス条件が満たされたときに、自動電子メールを送信する機能が必要です。このシステムは、既存のASP.NETWebサイトで動作するようにセットアップしています。私はここで他の開発者の1人とチャットし、いくつかの問題について話し合いました。
注意事項:
- 必要なすべての情報は、ASP.NETWebサイトで既にモデル化されています
- すでにウェブサイトにある電子メールの生成に必要ないくつかのビジネスロジックがあります
理想的な解決策は、夜間に実行され、処理と電子メール送信を行うようにスケジュールされた別の実行可能ファイルを用意することであると判断しました。このソリューションには2つの主な問題があります。
- Webサイトが更新された(ビジネスロジックまたはモデル)が、実行可能ファイルが誤って失われた場合、実行可能ファイルは電子メールの送信を停止する可能性があり、さらに悪いことに、古いロジックに基づいて電子メールを送信する可能性があります。
- このようなものを使用して、UserControlsを使用して電子メールをテンプレート化することを望んでいます。これは、ASP.NETWebサイトの外部では不可能だと思います。
最初の問題は、ビルドおよびデプロイメントスクリプト(とにかく現在調査中です)で回避できた可能性がありますが、2番目の問題を回避できるとは思いません。
したがって、私たちが決定した解決策は、SSISによって定期的に呼び出されるASP.NETページを用意し、それが設定された量の処理(たとえば、30秒)を実行してから戻るようにすることです。ASP.NETページはこの種の処理を行うのに理想的な場所ではないことは知っていますが、これは私たちの要件を最もよく満たしているようです。処理を行うために(ワーカープールからではなく)新しいスレッドを生成することを検討しましたが、そうすると、返されたページを使用して成功または失敗を示すことはできないと判断しました。ページのライフサイクル内で処理することにより、ページのコンテンツを使用して、処理がどのように行われたかを示すことができます。
したがって、問題は次のとおりです。この設定で発生する可能性のある技術的な問題はありますか?
明らかに、このようなことを試したことがあれば、成功/失敗の報告をいただければ幸いです。代替設定の提案も同様です。
乾杯、