我正在嘗試構建將自動發送郵件的Windows服務應用程序。該數據庫位於項目的APP_DATA
文件夾下。我現在的問題是,如何在我的Windows服務應用程序中使用web.config
的connectionString在特定時間運行查詢,並在查詢不爲空時自動發送郵件給用戶。我做了一些研究,但沒有找到任何解決方案。這種方法甚至可能嗎?在此先感謝在Windows服務應用程序中使用Web.config中的connectionString
回答
您的Windows服務將作爲單獨的應用程序執行,並且無法直接訪問您的Web應用程序的配置。我建議你在你的Web應用程序中構建一個Web服務並提供必要的API。
然後,您可以使用Windows服務調用Web服務方法並檢索必要的數據。編輯: MSDN是最好的教育資源。你可以從這裏開始 http://msdn.microsoft.com/en-us/library/bb386386.aspx
我可以在哪裏接受培訓? – Superbyte
你能夠使用一個連接:
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString);
試過這個。它不工作,它拋出一個異常。 C:\ User \ Superbyte \ Documents \ Visual Studio 2012 \ Projects \ WindowsService1 \ WindowsService1 \ nin \ Debug \ DRMS_DB.mdf失敗。具有相同名稱的數據庫存在,或者指定的文件無法打開,或者它位於UNC共享位置。 – Superbyte
您的Windows服務使用一個app.config文件,而不是一個web.config文件。 右鍵單擊您的Windows服務項目並在上下文菜單中選擇添加新項目,然後查找應用程序配置文件並單擊添加。從網站上的web.config文件複製連接字符串,並將其粘貼到Windows服務的app.config文件中。 或者你可以創建一個像Ihor Deyneka建議的API
我剛剛做了你告訴我的,但這不起作用。 – Superbyte
當我從web.config中將connectionString複製到App.config時,我得到一個SqlException告訴我以下內容: 嘗試爲文件C:\ User \ Superbyte \ Documents \ Visual Studio 2012 \附加一個自動命名的數據庫。 Projects \ WindowsService1 \ WindowsService1 \ nin \ Debug \ DRMS_DB.mdf失敗。具有相同名稱的數據庫存在,或者指定的文件無法打開,或者它位於UNC共享位置。 – Superbyte
您的Windows服務正在尋找您需要將此數據庫文件附加到您的項目的DRMS_DB.mdf。這不是解決問題的理想方法。你應該看看爲數據訪問創建一個單獨的項目,並在各種項目中引用它......這裏有一些關於如何創建n層應用程序的鏈接http://msdn.microsoft.com/en-us/library/ ms973279.aspx,http://msdn.microsoft.com/en-us/library/vstudio/bb384570.aspx,http://geekswithblogs.net/edison/archive/2009/04/05/a-simple-3-層的層的應用程序功能於asp.net.aspx – Yugz
你試過應用程序配置文件來代替你的web.config文件嗎?如果不嘗試使用相同的代碼讀取連接字符串。
string connStr = ConfigurationManager.ConnectionStrings["Your Connection String Name"].ConnectionString;
- 1. 在服務配置中設置應用程序ConnectionString而不是Azure中的web.config
- 2. 從C++ windows服務應用程序中使用web服務
- 3. Windows服務中的Web應用程序
- 4. c中的Windows服務應用程序#
- 5. 在Windows 8應用程序中使用服務器端代碼
- 6. 如何在C#windows服務應用程序中使用PRISM?
- 7. 在C#.Net中使用WSO2數據服務Windows應用程序
- 8. 如何在windows phone7應用程序中使用wcf服務?
- 9. 在Windows控制檯應用程序中使用ax2012服務
- 10. 在Windows應用程序中使用WCF服務?
- 11. 如何在Windows服務應用程序中使用PowerModelChanged事件?
- 12. 如何在Asp.net MVC3 web應用程序中從web.config中讀取ConnectionString?
- 13. Windows服務或IIS中的主機應用程序服務器?
- 14. Windows窗體應用程序中的Windows服務
- 15. windows服務應用程序的azure webapp
- 16. 會話在Windows服務應用程序中不起作用?
- 17. 在Windows應用程序中調用WCF Web服務
- 18. 在Web服務方法中調用Windows應用程序EXE
- 19. 解密web.config中的connectionString?
- 20. Windows中的客戶端服務器應用程序中的CreateProcess()
- 21. 在Web應用程序的C#中查詢Windows服務狀態
- 22. 在Windows服務中轉換我的應用程序
- 23. 使用Windows應用程序來修改Windows服務
- 24. 使用Windows服務從Windows窗體應用程序
- 25. 在服務器應用程序中使用windowsbase.dll中的system.io.packaging.zippackage
- 26. 使用Windows WCF服務在asp.net應用程序
- 27. 在C#中使用客戶端服務器技術的Windows Store應用程序
- 28. 我想在.NET上的Windows應用程序中使用SQL Server報告服務?
- 29. 在Windows Phone應用程序中使用由adfs保護的wcf服務
- 30. 如何在Windows通用應用程序中使用雙工wcf服務
嗯,如果你正在構建一個WINDOWS服務,爲什麼你正在嘗試使用WEB.config?也許這就是爲什麼你沒有找到任何可以學習的資源。 – walther
@walther我非常想查詢我的ASP.NET MVC3項目中的數據庫。 – Superbyte