1

我有这个ASP.NET应用程序,其中我使用实体框架连接到数据库。在这个应用程序内我有一个类,它提供了对数据库的不同操作(添加,删除等)。一切都很正常。现在我需要创建一个Windows服务,每周一次使用从存储库收集的信息更新数据库。我以为我可以添加我的ASP.NET dll作为对我的Windows服务的引用,以便我可以使用我在那里定义的操作。但我得到以下错误:从Windows服务访问数据库

指定命名的连接或者未在配置中发现的,不打算与EntityClient提供者,或者无效

我在其他线程读取使用的是我应该将连接字符串复制到app.config,但我的Windows服务项目中没有任何app.config文件。我如何在ASP应用程序和Windows服务中使用我在类中定义的EDM操作?

+1

我不会为每周只需要一次的任务创建Windows服务 - 服务用于全天候运行。只需创建一个控制台应用程序并安排每周任务。至于连接:只需在您的控制台应用程序中添加一个“App.config”,其中包含与您的Web应用程序相同的连接字符串(请参阅bhuvin的答案)。 – Filburt 2012-07-11 09:52:43

回答

2

在这种情况下,你需要创建一个app.configCopy the connection string in the web app to the app.config with the same name.查看Windows服务何时运行,并且EF试图创建数据上下文,但它找不到任何内容,因此显示错误。所以你应该添加一个app.config文件,并适当添加connectionstring