WCF 4.5 新特性:配置验证





3.00/5 (2投票s)
WCF 4.5 中的配置验证
这是 WCF 4.5 系列的第四篇文章,也是上一篇文章的直接补充,因为我忽略了提及关于在 WCF 4.5 和 Visual Studio 11 中编辑配置文件时的一个重要事项——编辑和编译期间的验证。
之前的文章
在我的 上一篇 文章中,我提到了在配置文件(app.config / web.config)中手动配置服务时遇到的 问题,主要是在处理服务名称时。
在 WCF 3.5 中,使用 错误的 服务名称 存在 较少问题,因为每个服务至少需要一个终结点,如果你在配置中使用错误的 服务名称,会得到一个异常。
但是,随着 WCF 4 的出现,由于 默认终结点,规则 发生了变化——你没有配置任何服务终结点?不用担心,服务宿主会根据你的基本地址为你创建一些。这导致很多人没有注意到他们使用了错误的 服务名称,从而获得并非他们想要的终结点,例如获得默认的 basicHttp
终结点,而不是在配置中声明的 netTcp
终结点。
现在,WCF 4.5,或者更确切地说,是 Visual Studio 11,带来了它的 配置智能感知,正如我们在上一篇 文章 中看到的,智能感知为我们提供了选择要配置的服务类的选项。另一个好处是 警告—— 如果你在 <service>
元素中使用错误的 服务名称,你将收到一个编译警告,如下面的屏幕截图所示
验证也适用于配置的其他部分,例如契约名称、绑定名称以及绑定/行为配置名称,如以下屏幕截图所示(我添加了高亮显示)。
虽然有用,但后一种类型的验证不太重要,因为通常,如果你正确地获得了服务名称,并且拼错了其他名称中的一个,那么在打开服务宿主时会发生异常,至少你会知道,这与使用错误的 服务名称不同。
所以总结一下——智能感知,很棒!工具提示,很棒!验证,也很棒!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 的会议。