ASMX服务共享单个类实例

时间:2013-02-27 01:22:35

标签: c# iis asmx

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

我希望我可以将此Web服务配置为仅使用单个实例。

意思是,当第一个用户访问该站点时,它会创建一个我的webservice实例,然后所有请求都通过同一个类路由,共享相同的状态。

这甚至可能吗?

2 个答案:

答案 0 :(得分:1)

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

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

或者您可以查看Elmah

答案 1 :(得分:1)

你似乎有很多问题。

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

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

最后,ASMX不支持单例Web服务。您可以做的最好的事情是让多个服务调用共享同一个对象(小心锁定)。

相关问题