2011-12-04 22 views
2

我有一個應該定期發送電子郵件的Windows服務。在非MVC項目中使用MvcMailer

旁邊的Windows服務項目有一個MVC 3項目時發送電子郵件與MvcMailer(漂亮)。

我想使用相同的發動機,以發送電子郵件的窗口服務。

我應該怎麼做?

導入MVC二進制文件併爲此創建一個控制器和新視圖?它會起作用嗎?

保存在數據庫中,並要求我的web項目以發送電子郵件,因爲信息是查詢的結果,是太大的請求被髮送可能不是最好的解決辦法。

唯一的其他選擇我看到的是簡單地請求網絡項目完成所有的工作,但這樣它不會是有益放置窗口服務中的另一個服務,以節省現場應用程序資源。 你會怎麼做?

回答

0

我認爲,從服務調用MVC郵件可能是矯枉過正。如果mvc項目應該公開發送所有其他解決方案的電子郵件API,那麼構建REST api可能是有道理的。但是,如果您只是想將操作方法​​的功能引入Windows服務,那麼我會選擇一個進程內功能組件。如果您可以將mvcmailer操作方法的邏輯重構爲另一個程序集,爲什麼不這樣做,然後在Windows服務解決方案中包含該assemby作爲依賴項。 如果您可以提供郵件程序的全部用途以及它如何在Web場景中使用,它可以幫助我們提供更好的體系結構。

0

爲什麼你認爲發送給mvcmailer的查詢太大?如果你的郵件程序MVC項目已經正常工作,並通過一個平靜的URL公開,那麼這將成爲你的電子郵件服務,並簡單地稱之爲來自你的服務的Web請求。

你可以在你的請求中獲得大小約束這應該是一個問題。

+0

覆蓋這也使得一個非常好的郵件網關如果寧靜的網址是沒有適當的安全。 –

+2

當然,任何smtp服務器也是如此:) –