gpt4 book ai didi

c# - 在 C# 服务中获取连接字符串

转载 作者:行者123 更新时间:2023-11-30 12:50:16 26 4
gpt4 key购买 nike

我正在使用 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>

如果我遍历连接字符串列表,那么它会继续从调用应用程序带回连接字符串。难道配置文件就不能用了?

最佳答案

我会尝试这样的事情:

Configuration config = ConfigurationManager.OpenExeConfiguration("name_of_your_service.exe");
string connectString = config.ConnectionStrings["YourConnectionStringNameHere"];

您应该注意作为配置文件名称传递的字符串。
它应该是 exe 或 dll 的名称,而不是配置文件本身。OpenExeConfiguration 将作为配置对象打开名为“name_of_your_service.exe.config”的文件

关于 OpenExeConfiguration 的详细信息

刚发现一个有趣的问题here on SO

关于c# - 在 C# 服务中获取连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9596971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com