2016-07-29 11 views
0

私は何年もメールを送信するためにC#httpハンドラ(ashx)を実行してきました。 4.5.1に切り替えたときに問題が発生したと考えています。 「...非同期操作は、この時点で開始することはできません非同期操作だけで、非同期ハンドラまたはモジュール内またはページのライフサイクルにおける特定のイベント中に開始することができる。」SmtpClientの非同期エラーhttpハンドラ(ashx)のSendMailAsync

Iを

:私たちは、エラーを取得しています使用していた:私は仮定してい

public static async Task sendMessage(.... 
... 
await client.SendMailAsync(message); 

public static void sendMessage(.... 
... 
client.SendAsync(message); 

を周りに起こっていた何のために見た後、この方法は、に変更されましたスタックのすべての呼び出しが非同期演算子を持っているわけではないので、このエラーが発生します。これを行うには、ハンドラ全体を作成する必要があります。これは、メールを送信するだけの良いアイデアのようには思えない非同期の他の多くのことです。

だから、私は2つの質問がある:

  1. 私は最終的にのsendMessageを呼び出すすべてのメソッドで非同期を使用していないということで正しいでしょうか?

  2. メールを非同期で送信するにはどうすればよいですか?

+0

私はリンクを見ましたが、私がすでに行ったことを再掲しています。問題は両方の非同期オプションがエラーを生成することです。 – Velocedge

+0

ページを参照している場合、httpハンドラ(ashx)は適合しません。 – Velocedge

+0

誰も上記の質問1に私にアドバイスできますか?...#2も同様ですか? – Velocedge

答えて

0

これ以上のコメントがあったので、私はちょうど新しいスレッドを開始し、同期的にメッセージを送りました。それ以来問題はありませんでした。

関連する問題