所以我正在为WCF服务配置端点。我几乎没有整体服务的经验,但是在使用它们的项目中间已经陷入困境。我大致了解端点中的每个属性除了一个属性之外的其他属性。 “bindingConfiguration”。
这是我的代码的模糊版本(实际信息是专有的):
<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
关于这个用途的任何想法?
为了学习,我愿意在这里采取刺痛和错误。我认为它与身份验证或安全性有关。在检查界面时,我也注意到与此无关。
任何帮助都会很棒!
干杯
马特
答案 0 :(得分:15)
在绑定部分中,您可以为同一绑定类型(在您的情况下为basicHttpBinding)提供多个“配置”。绑定配置在其中选择使用哪一个。
在MSDN中,您应该尝试查找<endpoint>
的引用(因为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>