Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 从web应用程序向类对象传递连接字符串的建议方法是什么_.net_Class Design - Fatal编程技术网

.net 从web应用程序向类对象传递连接字符串的建议方法是什么

.net 从web应用程序向类对象传递连接字符串的建议方法是什么,.net,class-design,.net,Class Design,我的web应用程序中有一个类,它处理我所有的数据库访问。目前,我有一个类属性,我在web.config中存储的数据库连接字符串中传递给它。这是最好的方法还是有更好的方法?谢谢。您可以将密钥添加到web.config文件的appSettings块中。例如: <appSettings> <add key="connectionString" value="Data Source=xxx;ID=yyy;Initial Catalog=zzz; Password=ppp;"/&

我的web应用程序中有一个类,它处理我所有的数据库访问。目前,我有一个类属性,我在web.config中存储的数据库连接字符串中传递给它。这是最好的方法还是有更好的方法?谢谢。

您可以将密钥添加到
web.config
文件的
appSettings
块中。例如:

<appSettings>
    <add key="connectionString" value="Data Source=xxx;ID=yyy;Initial Catalog=zzz; Password=ppp;"/>
</appSettings>

当您应该在一个解决方案中从不同的模块访问连接字符串时,这种方法非常好。

据我所知(并且已经看到),这是维护连接字符串最常用的方法。因此,是的,我想说将连接字符串存储在
web.config
文件中是可以的。

如果连接字符串是必需的(这可能是必需的,因为我们谈论的是数据访问类),我个人更喜欢在类的构造函数中传递连接字符串/连接设置对象

如果您正在创建一个抽象的数据访问层,您可能会考虑传递连接连接设置对象,以便能够使用基于连接的提供程序类型来创建正确类型的ADO对象。p>


如果使用依赖项注入,则传递设置对象而不是字符串也会有所帮助。通过这种方式,IoC容器可以自动解析对象。

我假设您正在处理一个.NET应用程序,因此我重新标记了您的问题。使用配置的ConnectionString部分可能更自然,并且有两个优点(请参阅我的答案)
using System.Configuration;

.....
.....

private string connectionString = ConfigurationManager.AppSettings["connectionString"];