我正在浏览新的WCF 4.5功能http://msdn.microsoft.com/en-us/library/dd456789.aspx并尝试使用简化的生成配置文件。当我在4.0和4.5中生成配置文件时,它们都是相同的。它们没有默认值。
我在这里错过了什么吗?
答案 0 :(得分:1)
虽然我在4.0 vs 4.5上找不到任何具体的内容,但您引用的链接首先显示配置文件为3.0,然后显示一个配置文件为4.5。
从4.0开始,引入了具有默认绑定和默认端点概念的简化配置文件 - 这意味着您可以在4.0或4.5中创建开箱即用的WCF服务应用程序,并且不会绑定或端点已定义 - 您可以通过查看4.0和4.5服务的web.config文件来验证这一点。
添加服务引用时,您很可能使用“http://”URI - 默认情况下,“http”映射到basicHttpBinding
。那么让我们看看你在评论中发布的片段:
<endpoint address="localhost:36275/Service1.svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IService1"
contract="ServiceReference1.IService1"
name="BasicHttpBinding_IService1" />
客户端需要与服务进行通信的所有内容 - 地址,要使用的绑定,要使用的绑定配置以及合同。
如果您查看客户端配置文件,您还应该看到以下内容:
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService1" />
</basicHttpBinding>
</bindings>
对应于端点的bindingConfiguration
属性指定的绑定。由于正在使用默认值,因此未指定绑定的其他属性。
在3.0和3.5中,绑定部分将使用默认值指定绑定的所有属性 - 在4.0及更高版本中不会。
你没有遗漏任何东西 - 除了文档有点误导之外,它暗示这是一个4.5特性,当它实现它是一个4.0和4.5特征。