2013-09-24 166 views
0

我需要知道是否有可能使用Web服務,當點擊鏈接時可以打開.docx,.doc,.pdf等文件。Webservice從App_Data文件夾打開文檔

我的場景。我有一個表格,收集某些用戶的詳細信息,如名稱,地址,...評論,還上傳一個或兩個文件,如簡歷,項目報告等。

當表格驗證此信息存儲在數據庫和電子郵件是發送到[email protected]電子郵件地址與表格的詳細信息,以便管理員總是通過電子郵件收到信息,因爲它更快

我需要發送上傳的文件作爲附件通過電子郵件或寫一個代碼,可以打開相關文件。

我不確定我是否需要此服務。

請指教什麼是最好的辦法。

我的網站是基於asp.net的。 C#。

+0

發送文件作爲附件似乎是合理的。你嘗試了什麼? – nvoigt

回答

1

在這種情況下,您並不需要web服務。

只需將郵件程序代碼委託給後端例程(業務邏輯層),後者可以使用常規的System.Net.Mail作爲附件選取文件。使用smtp.SendAsync而不是smtp.Send,這樣您就不會最終阻止您的Web表單。您的後端例程甚至可以是像WCF這樣的服務。或者單獨的.dll。這取決於你如何構建圖層。

但是,如果您的郵件程序代碼位於代碼本身而不是其他層或代碼層中,那麼SendAsync會變得棘手。然後你有兩個選擇:

  1. 使用async指令在頁面上使其成爲async頁面。或者,
  2. 產生一個線程做的工作,像.... System.Threading.ThreadPool.QueueUserWorkItem ...

還有其他的解決方法,以及像在這個環節提到:http://blog.jdconley.com/2009/01/fire-and-forget-email-webservices-and.html

我會建議,您將工作委派給您的業務邏輯層,這樣可以讓您更輕鬆。

當然,如果開銷不大,您總是可以使用smtp.Send同步工作。