ASMX服务共享一个类实例
本文关键字:一个 实例 服务 共享 ASMX | 更新日期: 2023-09-27 18:01:13
我有一个扩展名为.asmx的web服务,它指向我的web应用程序中的一个类。在添加一些代码以在应用程序启动时输出调试日志之后,我可以看到每次用户访问页面时都会创建一个新的调试日志。
我希望我可以将这个web服务配置为只使用一个实例。
这意味着,当第一个用户访问该网站时,它会创建我的Web服务的一个实例,然后所有请求都会通过同一个类进行路由,共享相同的状态。
这可能吗?
网站本质上是无状态的。意思是,每个请求通常与任何其他请求无关。
也就是说,您可以在global.asax文件中将日志设置为静态变量。注意线程问题。
或者你可以看看Elmah。
您似乎有很多问题。
首先,ASMX技术几乎已经过时,不应该用于新的开发。应该改用WCF。
接下来,可以让对服务的多个调用共享类的同一实例。但是,除非是线程安全的,否则必须防止同时访问此类。您应该期望多个服务调用同时调用同一个类实例。
最后,ASMX不支持单例web服务。你能做的最好的事情就是让多个服务调用共享同一个对象(小心锁定(。