哪里有WCF绑定配置?

时间:2009-03-04 08:46:11

标签: .net wcf wcf-binding

我在编程WCF服务书中检查了流媒体,我发现了一条关于配置的界限。

  

您需要在每个所需的流模式下在客户端或服务端(或两者)配置绑定

这是什么? 我怎么知道我应该在哪里配置它们? 这是WCF的常见问题吗? 对我来说似乎有些奇怪。

1 个答案:

答案 0 :(得分:2)

以下是如何在web / app.config中配置WCF服务的一个非常基本的示例:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <services>
            <service name="MyServiceTypes.MyService" >
                <endpoint address="http://localhost:55555/MyService"
                          binding="basicHttpBinding"
                          contract="MyServiceTypes.IMyService" />
            </service>
        </services>
    </system.serviceModel>
</configuration>

在客户端,您希望使用完全相同的端点设置,如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <client>
            <endpoint address="http://localhost:55555/MyService"
                      binding="basicHttpBinding"
                      contract="MyServiceTypes.IMyService" />
        </client>
    </system.serviceModel>
</configuration>

通过添加bindingConfiguration部分以及类似的东西,有很多方法可以自定义绑定等。绑定配置可能是您配置流模式的地方。

放置合约界面通常是最佳做法;您的服务和客户实施;如果可以,您可以在单独的DLL中使用DataContract类型(数据传输对象)。如果您无法控制合同(例如,您在无法控制的计算机上访问该服务),生成客户端代码的简便方法是在Visual Studio中使用“添加服务引用”,或者svcutil工具。我喜欢svcutil比添加服务引用更好,因为它可以让您更轻松地控制生成的代码在项目中的最终位置。