我正在忙着编写一个文件服务器/客户端工具,它基本上使用托管服务来发送和接收来自服务器的数据。由于此解决方案将被许多不同的人使用,因此不建议他们去编辑App.Config文件以进行设置。我想要做的是在运行时更改它,以便用户可以完全控制要使用的设置。所以,这是我的App.Config文件:
<system.serviceModel>
<services>
<service name="FI.ProBooks.FileSystem.FileRepositoryService">
<endpoint name="" binding="netTcpBinding"
address="net.tcp://localhost:5000"
contract="FI.ProBooks.FileSystem.IFileRepositoryService"
bindingConfiguration="customTcpBinding" />
</service>
</services>
<bindings>
<netTcpBinding>
<binding name="customTcpBinding" transferMode="Streamed" maxReceivedMessageSize="20480000" />
</netTcpBinding>
</bindings>
</system.serviceModel>
我想要做的是在执行应用程序时只更改地址(在本例中为net.tcp:// localhost:5000)。因此,我必须能够读取当前值并将其显示给用户,然后将其输入并将其保存回该字段。
答案 0 :(得分:0)
您可以创建提供配置名称和端点的服务实例。所以你可以使用;
EndpointAddress endpoint = new EndpointAddress(serviceUri);
var client= new MyServiceClient(endpointConfigurationName,endpoint )
查看msdn文章。
答案 1 :(得分:0)
以下测试可能会对您有所帮助。基本上步骤是
使用与旧版本相同的配置创建EndpointAddress
的新实例,但更改uri并将其分配给Address
的{{1}}属性。
ServiceEndpoint