У меня есть развертывание 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?
Придумал способ получше. Это позволяет вам легко включать / отключать веб-службы, которые вы хотите вызывать с разных 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