Saya telah menjalankan C# http handler (ashx) untuk mengirim email selama bertahun-tahun. Kami yakin masalah dimulai saat kami beralih ke 4.5.1. Kami mendapatkan kesalahan:

"Operasi asinkron tidak dapat dimulai saat ini. Operasi asinkron hanya dapat dimulai dalam pengendali atau modul asinkron atau selama peristiwa tertentu dalam siklus hidup Halaman..."

Saya menggunakan:

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

Setelah mencari-cari apa yang terjadi, metodenya diubah menjadi:

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

Saya berasumsi bahwa kita masih mendapatkan kesalahan ini karena tidak semua panggilan ke tumpukan memiliki operator async. Untuk melakukan itu, saya harus membuat seluruh handler, yang melakukan banyak hal lain, asinkron yang tidak terdengar seperti ide yang baik hanya untuk mengirim email.

Jadi, saya punya dua pertanyaan:

  1. Apakah saya benar karena saya tidak menggunakan async di setiap metode yang pada akhirnya memanggil sendMessage?

  2. Bagaimana cara mengirim email secara asinkron sekarang?

0
Velocedge 29 Juli 2016, 13:22
Saya melihat tautannya tetapi itu menyatakan kembali apa yang telah saya lakukan. Masalahnya adalah kedua opsi asinkron menghasilkan kesalahan.
 – 
Velocedge
29 Juli 2016, 15:37
Jika Anda merujuk ke Halaman, penangan http (ashx) tidak cocok.
 – 
Velocedge
29 Juli 2016, 17:04
Adakah yang bisa memberi tahu saya tentang pertanyaan #1 di atas?... #2 juga?
 – 
Velocedge
31 Juli 2016, 17:53
Apakah pendekatan yang masuk akal adalah dengan memulai utas baru dan meminta utas mengirim email secara serempak?
 – 
Velocedge
31 Juli 2016, 19:57

1 menjawab

Jawaban Terbaik

Karena tidak ada komentar lagi, saya baru saja memulai utas baru dan mengirim pesan secara serempak. Tampaknya berfungsi dengan baik, tidak ada masalah sejak itu.

0
Velocedge 8 September 2016, 13:38