2

Web サービス用の F# クライアントを作成しようとしています。ここの例は、コードでサーバーの URL を使用していることを除いて、非常によく見えます。

type TerraService = WsdlService<"http://msrmaps.com/TerraService2.asmx?WSDL">

これにより、実行時に構成ファイルからサービス URL を読み取ることができなくなり、開発サーバーから運用サーバーへの展開が困難になります。

Dbml プロバイダーと同様に機能する WSDL プロバイダーがあるかどうか疑問に思っています

4

3 に答える 3

3

あなたが探しているものを正確に理解しているかどうかはわかりませんが、静的パラメーターとして提供された URL は型を生成するために使用されますが、必要に応じて、Get...Soapメソッドの別のオーバーロードを使用して実行時に別の URL を提供できることに注意してください. この URL は、どこからでも取得できます (たとえば、それがシナリオの場合は構成ファイルから読み取ることができます)。例えば:

type TerraService = WsdlService<"http://msrmaps.com/TerraService2.asmx?WSDL">
let terraClient = TerraService.GetTerraServiceSoap(EndpointAddress(myRuntimeUrl))
于 2013-05-09T15:45:24.053 に答える
2

現在、それを実行するものはありませんが、コードはオープン ソースであるため、希望するモードで動作するバージョンを作成できます: 1 2 .

于 2013-05-09T12:30:12.043 に答える