0

C# .Net 3.5 で構築されたクライアント用の Web アプリがあります。Web アプリは多くのことを行いますが、非同期 Web 要求を介してデータを送信し、データベースで何らかの処理を行う部分が 1 つあります。これには 5 ~ 60 分かかります。

次に、データベース メールを使用して (msdb.dbo.sp_send_dbmail 経由で) メールを送信するデータベース内の列をトリガーする SQL トリガーを作成しました。

これは問題なく動作しますが、クライアントはデータベース サーバーからメールを送信することを禁止しています。

これに代わるものはありますか?

4

3 に答える 3

3

メールに必要なすべてのフィールドを含むメール テーブルを作成できます。処理を考慮して、送信する必要がある電子メールごとにレコードを追加します。

次に、そのデータベースに定期的に ping を送信して新しい電子メール レコードを取得する Windows サービスを作成します。見つかった場合は、電子メールを生成し、アプリケーション層から送信します。メールが複数回受信されないように、メールが送信されたことを示すブール値または同様のメカニズムを用意することを忘れないでください。

于 2012-09-24T22:19:03.470 に答える
2

私のコーダーの感覚では、何か怪しいことが起こっているように感じますが、アプリケーション サーバーで定期的にチェックしている別のテーブルを更新しない理由は何でしょうか? そして、アプリケーション サーバーにアラートを送信させますか?

于 2012-09-24T22:17:47.063 に答える
0

「ReadyForSend」、「Sent」、「Error」などの可能性がある「SendStatus」の電子メール テーブルの列でさえ、トリガー プランよりも優れています。そして、送信される適切な状態のアイテムを探す、ある種のスケジュールされたタスク。

6 か月から 1 年ですべてがどのように機能するかを理解しなければならないかわいそうな人を覚えておいてください。

于 2012-09-24T22:23:37.593 に答える