2

注文時やパスワード変更時などにユーザーに電子メールを送信する C# コードがあります。このコードは運用サーバーでは高速に実行されますが、開発中にローカル デスクトップで実行すると非常に遅くなります。本番サーバーは 5 秒以内に電子メールを送信しますが、開発マシンは 5 分かかります。開発マシンと本番サーバーは、ネットワークに対してローカルな同じ smtp サーバーを使用します。ある環境ではこのような遅延が発生し、別の同様の環境では発生しない IIS または Exchange の設定はありますか? デスクトップは Windows 7 を実行しており、Web サーバーは Windows Web サーバー 2008 を実行しており、Exchange サーバーは Microsoft SBS 2011 で実行されている 2010 です。

4

2 に答える 2

0

一部のSMTPクライアントを介して電子メールを送信しているときに、同様の問題に直面しました。これはあなたが見ている正確な解決策ではないかもしれませんが、sendmail メソッドを (TPL を使用して) 「非ブロッキング タスク」として分離し、基礎となるスレッドにこの実行を処理させることを考えることができます。その間、コードの残りの部分は通常どおり実行できます。この上、。sendmail が数秒かかっても、コードの他の部分はそれを待つ必要はありません。

于 2013-10-09T15:08:13.193 に答える