从 MDT CustomSettings.ini 有条件地调用多个 Web 服务的更好方法?

从 MDT CustomSettings.ini 有条件地调用多个 Web 服务的更好方法?

我有一个 MDT 部署,根据网络位置执行的操作略有不同。从其中一个位置,我需要调用两个 Web 服务。我最初失败的尝试是:

[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

我很快发现这行不通,因为一个部分只能有一个子部分。所以我能想到的最好的办法是让一个 webservice 调用另一个。这可行,但现在随着 webservice 的发展和有其他调用者,我必须维护某些服务的多个副本(即链接的和非链接的)。例如,

[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

所以我现在有两个地方需要维护 WebService1 的 url、参数等。

CustomSettings.ini 中是否有更好的方法?我是否应该从任务序列中手动调用 Web 服务,而不是尝试从 CustomSettings.ini 中将其删除?

答案1

找到了更好的方法。这样您就可以轻松地启用/禁用要从不同的 DefaultGateways 调用的 Web 服务,但您无法自定义它们之间的不同顺序。

[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

相关内容