Лучший способ условно вызвать несколько веб-сервисов из MDT CustomSettings.ini?

У меня есть развертывание MDT, которое делает вещи немного по-другому в зависимости от сетевого расположения. В одном из мест у меня есть два веб-сервиса, которым мне нужно позвонить. Моя первоначальная неудачная попытка была:

[Settings]
Priority=DefaultGateway

[DefaultGateway]
10.0.0.1=LOCATION_A
10.100.0.1=LOCATION_B

[LOCATION_A]
Subsection=WebService1
Subsection=WebService2

[WebService1]
WebService=http://contoso.com/webservice1

[WebService2]
WebService=http://contoso.com/webservice2

Я быстро обнаружил, что это не работает, потому что вы можете иметь только один подраздел в разделе. Таким образом, лучшее, что я мог придумать, было сделать так, чтобы один веб-сервис вызывал другой. Это работает, но теперь, когда веб-сервисы развиваются и имеют других абонентов, мне приходится поддерживать несколько копий некоторых сервисов (то есть как связанных, так и свободных). Например,

[Settings]
Priority=DefaultGateway

[DefaultGateway]
10.0.0.1=LOCATION_A
10.100.0.1=LOCATION_B

[LOCATION_A]
Subsection=WebService1AndWebService2

[WebService1]
WebService=http://contoso.com/webservice1

[WebService2]
WebService=http://contoso.com/webservice2

[WebService1AndWebService2]
WebService=http://contoso.com/webservice1
Subsection=WebService2

Теперь у меня есть два места, где я должен поддерживать URL-адрес, параметры и т. Д. WebService1.

Есть ли лучший способ в CustomSettings.ini? Должен ли я просто прибегать к вызову веб-сервисов вручную из последовательности задач вместо того, чтобы пытаться выполнить это из CustomSettings.ini?

1 ответ

Разобрался лучше. Это позволяет вам легко включать / отключать веб-сервисы, которые вы хотите вызывать из разных DefaultGateways, но вы не сможете по-разному настраивать порядок между ними.

[Settings]
Priority=DefaultGateway,FLAG_WebService1,FLAG_WebService2
Properties=FLAG_WebService1,FLAG_WebService2

[DefaultGateway]
10.0.0.1=LOCATION_A
10.100.0.1=LOCATION_B

[LOCATION_A]
FLAG_WebService1=FLAG_YES_WebService1
FLAG_WebService2=FLAG_YES_WebService2

[FLAG_YES_WebService1]
WebService=http://contoso.com/webservice1

[FLAG_YES_WebService2]
WebService=http://contoso.com/webservice2
Другие вопросы по тегам