2008-09-18 38 views
3

当客户端发出Web服务请求时,asp.net如何分配服务类的实例来处理该请求?如何在ASP.Net中处理Web服务请求

是为每个请求创建的服务类的新实例,还是发生了联合身份验证或者是否存在用于处理所有请求的单例实例?

+0

您是指.NET 2.0 ASMX Web服务还是.NET 3.0 WCF服务? – 2008-09-18 22:03:24

回答

1

对于传统的ASMX服务,您肯定会获得每个请求的新实例,就像ASPX请求一样。对于WCF服务(.SVC),你有更多的选择,例如以单例身份运行。

如果您对使用单例和池进行工作感兴趣,可以简单地使用ASMX服务作为轻量级代理来来回传递参数。您的服务实现可能是一个单身人士,与您的网站的App Pool一起工作。您将需要考虑偶尔重置的应用程序池,因为这是IIS管理ASP.NET网站的方式。

您还可以执行的操作是使用始终运行的WCF服务运行Windows服务。该服务将侦听只能从同一台计算机访问的端点上的本地主机。然后您可以在本地调用WCF服务的ASMX服务。这将允许您始终确保您的状态处于活动状态,只要您喜欢即使IIS重新启动应用程序池。当然,如果您希望允许多个Web服务使用相同的服务主机以提高资源使用率,您还可以更改WCF Windows服务的安全性以允许使用密码进行远程访问。

相关问题