【问题标题】:What is the bindingConfiguration attribute responsible for in a BasicHttpBinding endpoint config?BasicHttpBinding 端点配置中的 bindingConfiguration 属性是什么?
【发布时间】:2011-08-12 17:13:35
【问题描述】:

所以我正在为 WCF 服务配置端点。我几乎没有整体服务的经验,但在使用它们的项目中间被扑倒了。我大致了解端点中的每个属性都在做什么,除了一个。 “绑定配置”。

这是我的代码的模糊版本(实际信息是专有的):

      <endpoint address="http://localhost/SomeService.svc"
           binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISomeService"
           contract="SomeService.ICoreService" name="BasicHttpBinding_ISomeService" />

这是 MSDN 对此的看法(因为他们没有专门解决它)。

Microsoft's incomplete MSDN Entry

当然,Stackoverflow 有一些问题包含与“bindingConfiguration”匹配的字符串,但没有一个明确解决我的问题:

Most relative (I think) Stackoverflow question

关于它的用途有什么想法吗?

为了学习,我愿意在这里试一试,犯错。我认为它与身份验证或安全性有关。在检查接口时,我也没有注意到与此相关的任何内容。

任何帮助都会很棒!

干杯

马特

【问题讨论】:

    标签: wcf


    【解决方案1】:

    在您的绑定部分,您可以为同一绑定类型(在您的情况下为 basicHttpBinding)有多个“配置”。绑定配置在其中选择使用哪一个。

    在 MSDN 中,您应该尝试找到 &lt;endpoint&gt; 的引用(因为 bindingConfiguration 是属性),这将定义属性应该做什么。

    在下面的示例中,服务定义了两个端点,均使用basicHttpBinding。其中一个通过“普通”HTTP 公开,另一个通过 HTTPS 公开。 bindingconfiguration 属性告诉 WCF 使用哪种配置。

    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="SimpleBasic">
                    <security mode="None"/>
                </binding>
                <binding name="BasicOverHttps">
                    <security mode="Transport"/>
                </binding>
            </basicHttpBinding>
        </bindings>
        <services>
            <service name="MyNamespace.MyService">
                <endpoint address="ep"
                          binding="basicHttpBinding"
                          bindingConfiguration="SimpleBasic"
                          contract="MyNamespace.IService" />
                <endpoint address="secure"
                          binding="basicHttpBinding"
                          bindingConfiguration="BasicOverHttps"
                          contract="MyNamespace.IService" />
            </service>
        </services>
    </system.serviceModel>
    

    【讨论】:

    • 你的例子很有意义。感谢您的快速答复。所以基本上你有额外的 xml 配置你指定的绑定。暗示默认的 basicHttpBinding 并不是它所需要的。我能够在解决方案的不同文件中找到多个 ,但在该特定服务项目中却没有。我现在很好奇的是这些绑定的配置可以位于单独的配置文件中吗?我无法在文件或项目中找到与我的 bindingConfiguration 名称完全匹配的任何定义。延迟代码?
    • 可能。我认为,如果您(在 IIS 中)目录中有 web.config,则子目录上的任何 web.config 都会继承父目录的配置(我没有尝试过),所以如果是这种情况,可能缺少配置来自父配置之一。但这很可能只是一些糟糕的配置。
    猜你喜欢
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多