2011-09-22 35 views
7

Trong ứng dụng MVC 3 Razor của tôi, phương thức ActionResult Create() trong Controller xử lý HttpPost của người dùng. Tại thời điểm đó:Làm cách nào để gửi email không đồng bộ từ ứng dụng MVC 3?

  1. Dữ liệu được lưu vào cơ sở dữ liệu.
  2. Email được gửi đến các bên quan tâm bằng cách sử dụng một dự án khác trong giải pháp.
  3. Trang xác nhận được phân phát lại cho người dùng.

Kể từ khi gửi thư điện tử là hoạt động tốn nhiều thời gian nhất, tôi đang cố gắng sử dụng SmtpClient.SendAsync(), chứ không phải là SmtpClient(). Gửi.

Kịch bản này có thể xảy ra nếu kế thừa từ AsyncController? Bất cứ ai có thể cung cấp một ví dụ?

Cảm ơn,

Arnold

Trả lời

9

Bạn chắc chắn nên kiểm tra MVC Mailer. Công cụ rất đẹp để tạo email với chế độ xem dao cạo. Nó có một tùy chọn để gửi thư không đồng bộ. MVC mailer cũng có sẵn thông qua nuget.

+0

+1 vì chúng có một số tài liệu tuyệt vời (đặc biệt là phần thử nghiệm đơn vị) –

+0

Xin chào Robin, cảm ơn ý tưởng. Tôi sẽ kiểm tra nó. – Arnold

+0

Tôi chỉ tình cờ gặp MvcMailer, và WOW ... công cụ đó đã được đưa vào MVC3, thay vì các phương thức trợ giúp WebMail crappy mà chỉ tạo lại SmtpClient như một lớp tĩnh. Kudo cho MvcMailer! 1 cho đề xuất này. –

Các vấn đề liên quan