最佳的方式来托管用于SOA Web应用程序的WCF服务

5
我正在开发一个试图使用SOA模式的网站,服务既为主要的网络应用程序提供服务,也为HTML5移动应用程序和本机iPhone和Android应用程序提供服务,通过使用外观服务提供简化的API。
网络应用程序使用Castle WCF Facility连接到使用basicHttpBinding的服务。
我发现性能很慢,特别是如果网站超过半个小时没有访问。为了解决这个问题,我已经将应用程序池回收策略更改为在应用程序池达到服务器RAM的x%时进行回收。
我的问题是 - 在这种设置中托管服务的最佳方法是什么?使用哪种绑定最好?是否应考虑完全将服务移出IIS?我了解net.tcp是最快的绑定方式 - 使用该绑定以Windows服务的形式托管服务是否最佳?
干杯
w://
2个回答


2
挑几个要点:
将服务托管为Windows服务
这会失去IIS提供的所有监控和管理功能。只有当您的代码在错误处理和资源管理方面完美无缺时才是一个选择。
net.tcp是最快的绑定方式
对于局域网内部防火墙后面的情况可能是一个不错的选择。请注意,在1台服务器上,namedPipe更快。
您应该能够为您的服务配置第二个用于内部使用的端点。但我建议仍然使用IIS。除了最新版本外,您还需要WAS。

在除最新版本外的所有版本上,你将需要 WAS 是什么意思? - richard
我不记得确切的版本号,但在IIS 6.x上,如果要托管HTTP以外的任何东西,您将需要WAS插件。 - H H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接