asp.net - 如何在ASP.Net中处理Web服务请求

标签 asp.net web-services

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

是否为每个请求创建了服务类的新实例,或者是否正在发生池化,或者是否存在用于处理所有请求的单例实例?

最佳答案

对于经典的ASMX服务,您肯定会在每个请求中获得一个新实例,就像ASPX请求一样。对于WCF服务(.SVC),您确实有更多选择,例如作为单例运行。

如果您对使用单例和池感兴趣,则可以将ASMX服务仅用作轻量级代理来回传递参数。您对服务的实现可能与网站的应用程序池一起存在。您将需要考虑偶尔重置的应用程序池,因为这就是IIS管理ASP.NET站点的方式。

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

关于asp.net - 如何在ASP.Net中处理Web服务请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/97452/

相关文章:

asp.net - 在设计 asp.net 表单时禁用 Visual Studio Design Surface 上的 css/Style

PHP/MySQL 性能

asp.net - 如何在 .NET 4 Web Forms 项目中使用 Angular 2?

asp.net - GridView排序: SortDirection always Ascending

c# - 如何在代码 C# ASP.NET 中为报表查看器提供数据源实例

java - POJO Web服务应用程序可以在没有Spring框架的Spring应用程序中运行吗

java - servlet映射 "javax.ws.rs.core.Application"指的是未定义的servlet

c# - 从后面的代码访问 formView 页脚模板内的 userControl

java - JAX-WS到底是什么?

java - 了解 REST API——什么是 Context 和 @Context?