自动更改每个服务器构建的服务引用端点和本地变量

时间:2012-03-20 16:10:35

标签: c# automation service-reference

我有一个需要在多台服务器上部署的项目。它的代码相同,只有端点不同。目前,我必须执行以下步骤:

1)配置服务引用以指向正确的服务器
2)注释掉当前服务器,取消注释下一个服务器(绑定的本地参数):

//private string serverName = @"http://server1/service.asmx";
//private string serverName = @"http://server2/service.asmx";
//private string serverName = @"http://server3/service.asmx";
private string serverName = @"http://server4/service.asmx";
....

ServiceClass.ServiceClassSoapClient Mgr = new ServiceClass.ServiceClassSoapClient (basicHttpBinding, new EndpointAddress(serverName));

3)重建
4)发布

我需要执行许多(16)台服务器,并且需要很长时间才能手动执行此操作。有没有办法自动执行此操作?

1 个答案:

答案 0 :(得分:3)

如果您只需要存储与系统相关的字符串,为什么不使用内置的应用程序设置?这将在AppData中基于每个系统(或每个用户)存储数据,可通过My.Settings对象访问。

http://msdn.microsoft.com/en-us/library/a65txexh.aspx

http://msdn.microsoft.com/en-us/library/c9db58th.aspx

例如,您将创建名为string的{​​{1}}类型应用程序设置,在运行时,您可以通过读/写serverName在应用程序中对此进行配置。然后,为每个系统独立存储My.Settings.serverName的值,并返回该系统(或用户)唯一的值,具体取决于应用程序的运行位置以及运行它的人员。