Visual Studio 2012 - Условный Используя (сервисная ссылка)

В моем коде я в настоящее время имею:

#if (DEBUG)
using GetNewRecordNumber = {dev web service reference}.GetNewRecordNumber;
#else
using GetNewRecordNumber = {prod web service reference}.GetNewRecordNumber;
#endif 

Так, чтобы я мог сделать:

 using (GetNewRecordNumber.Tickets_GetNewRecordNumber getNum = new GetNewRecordNumber.Tickets_GetNewRecordNumber())

в моем коде. Это все хорошо работает, но я хотел бы переключиться в Параметрах настройки приложения так, чтобы я мог изменить его во время выполнения. Есть ли способ осуществить это так, выключатель может произойти на времени выполнения другой тогда дублирующий код?

Спасибо!

1
nl ja de

2 ответы

Директива препроцессору работает выступ перед компиляцией, таким образом, это не будет работать во время руны. Извините, но необходимо осуществить "#" директивы и использовать ConfigurationManager. AppSettings вместо этого.

1
добавлено
Несомненно, но как я делаю это с заявлением использования для справок, как отмечено выше? Спасибо!
добавлено автор VydorScope, источник

Не уверенный, если бы вы рассмотрели бы этот код дублирования, но возможно самый прямой подход должен был бы сделать класс обертки для ваших услуг и использовать тот класс обертки в местах как вышеупомянутое. Вы уже дублируете тонны кода с этими блоками #if, так использование обертки могло бы даже уменьшить ваш полный код и сделать его уборщиком.

Другой выбор состоял бы в том, чтобы вручную изменить ваши сервисные ссылки так, чтобы они унаследовали общему интерфейсу, который определяет всех участников, в которых вы нуждаетесь, но это может не быть прекрасной идеей, если необходимо часто обновлять ссылки.

0
добавлено
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot