作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当客户端发出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/
我是一名优秀的程序员,十分优秀!