1

複数のASP.NET(VB.NET)Webサイト間で共有されるSQL Serverデータベースがあり、データベースには顧客からの問い合わせを格納するテーブルがあります-組織内の関係者(および場合によっては問い合わせデータの一部を電子メールの本文に入れます)。誰かがこれをどのように実装できるかという観点から私のオプションの概要を教えてもらえますか?

私の考えは次のとおりです。

  1. SQLMail
  2. データベースメール
  3. System.Net.Mailライブラリを使用したVB.NETストアドプロシージャ?
  4. 別のオプション?

オプション3は、VB.NETでこれを行う方法を知っていて、些細なことなので、望ましいようです。

  • 私の他のオプションは何ですか?
  • 警告は何ですか?
  • これをリアルタイムで、つまりトリガー(インサートの量が少ない)で行うことはできますか?
  • または、これをバッチ、つまりジョブで実行することが重要ですか?

どんな助けでも大歓迎です!ありがとう。

4

2 に答える 2

5

1)、2)、3) のうち、考慮に値するのは 2) だけです。1) 死産であり、問​​題や問題で悪名高い非推奨の機能を使用しています。3) トランザクションの一貫性が失われ (挿入がロールバックされた場合でもSMTP メールが送信される)、呼び出し元 (おそらく Web ページがレンダリングされている) が SMTP 交換の完了 (つまり、 . は同期です)。2) のみがトランザクションの一貫性を提供し、非同期です (SMTP が完了するまで呼び出し元をブロックしません)。

ただし、通常、このようなタスクは Reporting Services タスクに委任する方が適切です。メール配信を使用してデータ ドリブン サブスクリプションを作成します。これはすぐに使用できるため、車輪を再発明する必要はありません。

于 2012-03-21T22:49:23.307 に答える
1

私はこれと同様の状況で作業しましたが、私が行った解決策は、C#WindowsサービスでSQLサーバーのジョブキューを毎分チェックすることでした。このジョブキューには、電子メールの送信などのジョブが含まれます。次に、テーブルでTRIGGERを使用して、次のサイクルで取得される新しい「Eメールアラート」ジョブを挿入できます。

于 2012-03-21T22:34:42.470 に答える