65.9K
CodeProject 正在变化。 阅读更多。
Home

WCF 4.5 新特性:配置验证

starIconstarIconstarIconemptyStarIconemptyStarIcon

3.00/5 (2投票s)

2012年2月9日

CPOL

3分钟阅读

viewsIcon

13769

WCF 4.5 中的配置验证

这是 WCF 4.5 系列的第四篇文章,也是上一篇文章的直接补充,因为我忽略了提及关于在 WCF 4.5 和 Visual Studio 11 中编辑配置文件时的一个重要事项——编辑和编译期间的验证。

之前的文章

  1. WCF 4.5 有什么新内容?让我们从 WCF 配置开始
  2. WCF 4.5 有什么新内容?单个 WSDL 文件
  3. WCF 4.5 有什么新内容?配置文件中的工具提示和智能感知

在我的 上一篇 文章中,我提到了在配置文件(app.config / web.config)中手动配置服务时遇到的 问题,主要是在处理服务名称时。

WCF 3.5 中,使用 错误的 服务名称 存在 较少问题,因为每个服务至少需要一个终结点,如果你在配置中使用错误的 服务名称,会得到一个异常。

但是,随着 WCF 4 的出现,由于 默认终结点,规则 发生了变化——你没有配置任何服务终结点?不用担心,服务宿主会根据你的基本地址为你创建一些。这导致很多人没有注意到他们使用了错误的 服务名称,从而获得并非他们想要的终结点,例如获得默认的 basicHttp 终结点,而不是在配置中声明的 netTcp 终结点。

现在,WCF 4.5,或者更确切地说,是 Visual Studio 11,带来了它的 配置智能感知,正如我们在上一篇 文章 中看到的,智能感知为我们提供了选择要配置的服务类的选项。另一个好处是 警告—— 如果你在 <service> 元素中使用错误的 服务名称,你将收到一个编译警告,如下面的屏幕截图所示

image

验证也适用于配置的其他部分,例如契约名称、绑定名称以及绑定/行为配置名称,如以下屏幕截图所示(我添加了高亮显示)。

image

虽然有用,但后一种类型的验证不太重要,因为通常,如果你正确地获得了服务名称,并且拼错了其他名称中的一个,那么在打开服务宿主时会发生异常,至少你会知道,这与使用错误的 服务名称不同。

所以总结一下——智能感知,很棒!工具提示,很棒!验证,也很棒!WCF 4.5 – 非常棒!

敬请期待更多关于 WCF 4.5 新特性的文章。你也可以在 Twitter 上关注我 (@IdoFlatow),以便在发布新文章时获得更新。

.NET 4.5 的 RTM 尚未发布,我假设你们中的许多人仍在适应 WCF 4。如果你想了解有关 WCF 4 新功能的更多信息,请参加我在雷德蒙德举行的 Visual Studio Live! 2011 的 会议(10 月 17 日至 21 日)。

此外,如果你是 MCT 并且居住在美国,请参加我在旧金山举行的MCT 2011 北美峰会(10 月 19 日至 21 日)关于 WCF 4 的会议。

© . All rights reserved.