ASMX服务共享一个类实例

本文关键字:一个 实例 服务 共享 ASMX | 更新日期: 2023-09-27 18:01:13

我有一个扩展名为.asmx的web服务,它指向我的web应用程序中的一个类。在添加一些代码以在应用程序启动时输出调试日志之后,我可以看到每次用户访问页面时都会创建一个新的调试日志。

我希望我可以将这个web服务配置为只使用一个实例。

这意味着,当第一个用户访问该网站时,它会创建我的Web服务的一个实例,然后所有请求都会通过同一个类进行路由,共享相同的状态。

这可能吗?

ASMX服务共享一个类实例

网站本质上是无状态的。意思是,每个请求通常与任何其他请求无关。

也就是说,您可以在global.asax文件中将日志设置为静态变量。注意线程问题。

或者你可以看看Elmah。

您似乎有很多问题。

首先,ASMX技术几乎已经过时,不应该用于新的开发。应该改用WCF。

接下来,可以让对服务的多个调用共享类的同一实例。但是,除非是线程安全的,否则必须防止同时访问此类。您应该期望多个服务调用同时调用同一个类实例。

最后,ASMX不支持单例web服务。你能做的最好的事情就是让多个服务调用共享同一个对象(小心锁定(。