0

我正在通过新的 WCF 4.5 功能http://msdn.microsoft.com/en-us/library/dd456789.aspx并尝试简化生成的配置文件。当我在 4.0 和 4.5 中生成配置文件时,它们都是相同的。它们没有默认值。

我在这里错过了什么吗?

4

1 回答 1

1

尽管我在 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 功能。

于 2013-09-29T06:42:15.910 回答