Автоматическое изменение справочных конечных точек и локальных переменных для каждой сборки сервера. - PullRequest
0 голосов
/ 20 марта 2012

У меня есть проект, который нужно развернуть на нескольких серверах. Это тот же код, только разные конечные точки. В настоящее время я должен сделать следующие шаги:

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 Ответ

3 голосов
/ 20 марта 2012

Если все, что вам нужно сделать, это сохранить строку, которая зависит от системы, почему бы не использовать встроенные настройки приложения?Это хранит данные для каждой системы (или для каждого пользователя) в AppData, которая доступна через объект My.Settings.

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

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

Например, вы должны создать настройку приложения типа string с именем serverName, а во время выполнения вы можете настроить ее из своего приложения, читая / записывая в My.Settings.serverName.Значение My.Settings.serverName затем сохраняется для каждой системы независимо и возвращает значение, уникальное для этой системы (или пользователя), в зависимости от того, где работает ваше приложение и кто его запускает.

...