我们有一个现有的WCF服务,它使用wsDualHttpBinding来启用对客户端的回调.我正在考虑将其移至netTcpBinding以获得更好的性能,但我非常谨慎地从IIS托管的服务(我们目前喜欢的"舒适区")转变为拥有我们自己的Windows服务来托管它.我希望我们仍然可以在IIS 7上托管这个,但Win2K8在一段时间内不会成为现实.
在创建我们自己的Windows服务来托管我们的WCF服务时,我应该注意什么?生命周期管理和请求限制等功能是IIS托管免费提供的功能所以我也想知道我们如何有效地托管我们的服务,而不会让IIS为我们付出艰苦的努力.谢谢!:)
因此,您无法使用WAS主持,有几件事需要实现.
如果服务崩溃,则默认情况下不会重新启动(尽管您可以在服务属性中更改此设置)
如果应用程序池挂起或变得太大,IIS将回收它; 如果你想要同样的可靠性,你必须自己做.
您必须为要在其下运行的服务创建帐户,或使用其中一个默认服务.停止以SYSTEM或管理员帐户运行服务的诱惑; 如果您想使用内置帐户使用NETWORK SERVICE.
现场调试变得更加困难.
考虑使用log4net等错误记录器
说过我9个月前为客户部署了一个WCF/Windows服务组合; 它被大量使用,并没有死过一次.
您可以在Windows服务中请求限制,它是WCF配置的一部分.请注意,默认值非常低,您可能需要增加这些默认值.