5

我正在开发一个尝试利用 SOA 模式的网站。该服务通过使用外观服务提供简化的 API,为主要的 Web 应用程序以及 HTML5 移动应用程序和原生 iPhone 和 Android 应用程序提供服务。

Web 应用程序使用 Castle WCF 设施连接到使用 basicHttpBinding 的服务。

我发现性能很慢。特别是如果该网站已经超过半小时没有被击中。为了解决这个问题,我将应用程序池回收策略更改为在应用程序池达到服务器 RAM 的 x% 后进行回收。

我的问题是 - 在这样的设置中托管服务的最佳方式是什么?什么是最好的绑定使用?我应该考虑将服务完全移出 IIS 吗?我知道 net.tcp 是使用最快的绑定 - 最好将服务托管为使用它的 Windows 服务?

干杯

w://

4

2 回答 2

7

Internet 信息服务托管最佳实践

创建高性能 WCF 服务

托管 WCF 服务

于 2011-05-15T07:07:15.713 回答
2

挑几个点:

将服务托管为 Windows 服务

这会失去 IIS 提供的所有监视和管理功能。只有当您的代码在错误处理和资源管理方面 100% 完美时才可以选择。

[that] net.tcp 是最快的绑定

对于本地 LAN,在防火墙后面可能是一个不错的选择。请注意,在 1 个服务器上,namedPipe 甚至更快。

You should be able to configure a 2nd endpoint on your services for internal use. But I would stay with IIS. On all but the latest version you'll need WAS

于 2011-05-15T07:20:49.933 回答