我有两个配置,一个是“connectionStrings”,另一个是“system.serviceModel”我想在运行时更改配置 . 这是我的配置:
<connectionStrings>
<add name="Procesta.serverSideService.Properties.Settings.Cafeteria_Vernier_dbConnectionString"
connectionString="Data Source=SHUVO0\SQLEXPRESS;Initial Catalog=Cafeteria_Vernier_db;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.serviceModel>
<services>
<service name="Procesta.serverSideService.ServerSideServices">
<endpoint address="net.tcp://localhost:9000/ServerSideServices"
binding="netTcpBinding"
bindingConfiguration=""
name="CustomersService_Tcp"
contract="Procesta.serverSideService.IServerSideServices" />
</service>
</services>
我想将connectionString“Data Source = SHUVO0 \ SQLEXPRESS; Initial Catalog = Cafeteria_Vernier_db; Integrated Security = True”更改为“Data Source = HASAN589 \ SQLEXPRESS; Initial Catalog = Cafeteria_Vernier_db; Integrated Security = True”
并将“net.tcp:// localhost:9000 / ServerSideServices”解决为“net.tcp://192.168.1.1:9000 / ServerSideServices”
谢谢你的帮助 .
3 回答
别 . 使用您自己的配置文件,然后在app.config之外设置....从app.config隔离用户/安装特定的settigns有很多好处 .
我认为能够在运行时更改设置,他们必须在用户范围,而不是应用程序,你不能在运行时更改它,默认情况下ConnectionString设置在应用程序范围内,并且不能更改(我不但不知道服务设置 .
您的设置真的“动态”吗?不能在安装过程中分配它们,或者在关闭应用程序时更改它们(并要求用户“重新启动应用程序以进行更改”) . 或者,您可以在设置中添加一个备用连接字符串,并在运行时根据需要在两者之间进行更改 .
您可以创建不同的目标并使用配置转换 . 例如 . 您可以从发布目标创建发布目标,并使用Web配置转换为此目标设置特定配置 . 查看此q / a上的前两个答案:App.Config Transformation for projects which are not Web Projects in Visual Studio 2010?