如何在Instillation中更改App.config文件?

时间:2011-10-13 06:31:03

标签: c# sql-server wcf configuration

我有两个配置,一个是“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”

感谢s的帮助。

3 个答案:

答案 0 :(得分:1)

别。使用您自己的配置文件,然后在app.config之外设置....从app.config隔离用户/安装特定settig的优势很多。

答案 1 :(得分:0)

我认为能够在运行时更改设置,他们必须在用户范围内,而不是应用程序,您不能在运行时更改它,并且默认情况下ConnectionString设置在应用程序范围内,并且无法更改(但我不知道服务设置)。

您的设置真的“动态”吗?不能在安装过​​程中分配它们,或者在关闭应用程序时更改它们(并要求用户“重新启动应用程序以进行更改”)。或者,您可以在设置中添加一个备用连接字符串,并在运行时根据需要在两者之间进行更改。

答案 2 :(得分:0)

您可以制作不同的目标并使用配置转换。例如。您可以从发布目标创建发布目标,并使用Web配置转换为此目标设置特定配置。查看此q / a上的前两个答案:App.Config Transformation for projects which are not Web Projects in Visual Studio 2010?