在开发环境中测试netTcp WCF服务的最佳实践

时间:2011-07-12 15:34:27

标签: wcf visual-studio-2010 debugging visual-studio-express

我有一个netTcp WCF服务。此服务将在生产时在IIS 7.5中托管。

但是有必要在开发机器上安装IIS 7.5来调试服务吗? 我无法使用内置Cassini服务器或IIS Express,因为两者都不支持netTcp。安装完整的Web服务器只是为了进行调试时我没有很好的感觉,所以我想知道是否还有其他可能性。

如何调试netTcp WCF服务? 当然有几种选择:

  • 安装IIS 7.5
  • 自托管WCF应用并稍后将其移植到IIS 7.5
  • WcfSvcHost.exe
  • 之类的东西
  • ...
  

WcfSvcHost.exe注意:我在 Visual Web中找不到这样的工具   Developer Express 2010 。是否仍然可以使用此工具   Visual Web Developer Express 2010?   如果建议使用WcfSvcHost.exe选项,那么听听这个问题的解决方案会很好。

以下几个方面的每个选项有哪些优点/缺点?

  • 离现实有多近?
  • 安装工作
  • 安全性(安装完整的Web服务器是个好主意吗?)

谢谢!

1 个答案:

答案 0 :(得分:2)

当我进行WCF开发时,我总是将我的服务与托管实现分开。如果您的托管决策在未来发生变化,这将为您提供更高级别的灵活性(例如,当WCF由于各种原因首次出现时,IIS不是托管平台的非常好的选择,但现在它几乎是首选方法)。我通常将DebugHost控制台应用程序作为我的解决方案中的一个项目,我在开发期间自行托管我的服务。所有项目都是托管我正在调试的任何服务;实际服务本身位于其自己的类库项目中,并且它不依赖于它最终如何被托管,无论是在开发还是生产中。

当然这意味着您的开发环境与生产不完全匹配,因此我建议您在实际上线之前使用某种类型的暂存环境,以便在投入生产之前验证您的配置是否适用于IIS。