以编程方式定义端点和绑定

时间:2018-09-24 11:58:55

标签: c# web-services wcf

在类库中调用Web服务之前,我不得不将端点定义从app.config粘贴到其他正在使用该库的项目中。

为了摆脱这种情况,我尝试将我的app.config设置转换为显式的,以便将Binding和Endpoint定义传递给ClientBase。

var client = new myServiceClient(customBinding, custonEndpoint);

我正在寻找一种将system.serviceModel定义转换为代码的方法。 最简单的定义给了我问题。例如,具有以下配置:

<system.serviceModel>
    <bindings>
        <netTcpBinding>
            <binding name="NetTcpBinding_MyService" />
        </netTcpBinding>
    </bindings>
    <client>
        <endpoint address="net.tcp://address:port/Foo/Services/MyService"
            binding="netTcpBinding" bindingConfiguration="NetTcpBinding_MyService"
            contract="MyService.MyService" name="NetTcpBinding_MyService">
            <identity>
                <userPrincipalName value="FooBar@SecondLevel.TopLevel" />
            </identity>
        </endpoint>
    </client>
</system.serviceModel>

我在安全性属性中都找不到与NetTcpBinding中的参数匹配的属性:

var endPoint = new EndpointAddress(__EndPoint);
var binding = new NetTcpBinding();
binding.Name = "";

导致SSPI错误。

0 个答案:

没有答案