【发布时间】:2012-03-07 06:48:24
【问题描述】:
我正在使用 VS 2008。
我有一个需要部署的服务。该服务不会在 .NET 客户端(如网站或 Windows 客户端)中使用。它需要一个数据库连接。
我最初有一个调用服务的控制台应用程序,连接字符串是在控制台应用程序的 app.config 中设置的。我想将连接字符串移动到服务。因此,在服务附带的 web.config 中,我输入了以下内容:
<connectionStrings>
<clear />
<add name="REConnectionString"
connectionString="Data Source=MyServer;Initial Catalog=MyDatabase;Integrated Security=True;"
providerName="System.Data.SqlClient" />
</connectionStrings>
在我的 MyService.svc.cs 我有以下内容:
private readonly string connectionString = ConfigurationManager.ConnectionStrings["REConnectionString"].ConnectionString;
但是当我运行服务时,这个值 connectionString 是空的。如何从 web.config 中获取此值?
我什至添加了以下内容,但它也不起作用:
<appSettings>
<add key="REConnectionString" value="Data Source=MyServer;Initial Catalog=MyDatabase;Integrated Security=True;"/>
</appSettings>
如果我遍历连接字符串列表,那么它会继续从调用应用程序中取回连接字符串。配置文件没有办法用吗?
【问题讨论】:
-
尝试调试并查看 ConfigurationManager.ConnectionStrings 中的内容...看来您的代码可能有效。
-
还有这个,也许他们可以帮助你stackoverflow.com/questions/9494699/…
-
如果循环访问
ConfigurationManager.ConnectionStrings会发生什么?也许您的应用使用的配置文件与您正在查看的不同? -
@Jeroen:我遍历了连接字符串,它仍然从调用应用程序返回连接字符串。我不想要它,因为调用应用程序将是一个 Java 应用程序。我想在服务或我的数据层中设置连接字符串。
标签: c# .net wcf web-services connection-string