我正在通过新的 WCF 4.5 功能http://msdn.microsoft.com/en-us/library/dd456789.aspx并尝试简化生成的配置文件。当我在 4.0 和 4.5 中生成配置文件时,它们都是相同的。它们没有默认值。
我在这里错过了什么吗?
我正在通过新的 WCF 4.5 功能http://msdn.microsoft.com/en-us/library/dd456789.aspx并尝试简化生成的配置文件。当我在 4.0 和 4.5 中生成配置文件时,它们都是相同的。它们没有默认值。
我在这里错过了什么吗?
尽管我在 4.0 和 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 功能。