.Net和默认设置

时间:2009-04-24 13:40:04

标签: .net configuration

如果我要从我的应用程序中的配置文件中读取连接字符串,并且我需要能够更改连接字符串,因为应用程序从dev移动到uat到prod我应该使用设置文件,因为那里有连接字符串被编译到程序集中,我将从环境移动到环境,使初始连接字符串过时?

这里的最佳做法是什么?

编辑:

我一般都在问,因为我既有网络服务也有智能客户端应用程序。

5 个答案:

答案 0 :(得分:2)

如果您正在进行Web开发,您希望将App.config xml文件用于桌面应用程序或web.config。请参阅“ConnectionStrings

答案 1 :(得分:1)

我通常将连接字符串放入外部配置文件中,我从部署中排除: 在web.config中:

<connectionStrings configSource="connections.config"></connectionStrings>

connections.config:

<?xml version="1.0"?>
<connectionStrings>
    <add name="connectionName" connectionString="[connection string goes here]"/>
</connectionStrings>

[update]这假设您正在构建一个网站;否则它当然是“App.config”,而不是“web.config”

答案 2 :(得分:1)

我们使用.config文件的连接字符串部分,并具有如下字符串名称:

AppDataInDev和AppData

同样在.config文件中,我们在应用程序设置下有一个名为InDev的密钥

在我们的数据层中,我们检查InDev的值。如果为true,则使用AppDataInDev初始化数据层,否则使用AppData。

这使得向prod过渡的管理变得容易。发布到prod时,将InDev的值切换为False,您就完成了。 (如果ASP.Net应用程序,同时将CompilationDebug切换为False同时执行此操作。)

答案 3 :(得分:0)

编译配置设置让我感到畏缩。

但是如果你担心坏人会看到你的配置。

加密:http://www.4guysfromrolla.com/articles/021506-1.aspx

请记住,加密是基于计算机密钥的,因此部署桌面应用程序时效果不佳。

答案 4 :(得分:-1)

您的键盘上没有点('。')按钮。访问商店购买新的。

我不确定我是否理解你的问题。使用应用程序可执行文件旁边的config / settings文件。读取该文件以获取连接字符串。如果文件丢失,请创建一个带有默认URL的新配置文件?