我正在尝试构建将自动发送邮件的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