单例WebService (ASMX,而不是WCF)
本文关键字:WCF WebService ASMX 单例 | 更新日期: 2023-09-27 18:19:17
是否有办法将c# ASMX WebService定义为单例?也许在网络上。配置文件?目前我没有使用WCF。
Thanks in advance
[WebService(Namespace = "http://www.mydomain.eu/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class MyService : System.Web.Services.WebService
{
...
}
你可以把你的web服务隐藏在一个单例的facade后面:
public static class ServiceFacade
{
public static void ServiceOperation()
{
using (var service = new MyService())
{
service.Operation();
}
}
}
您不能创建Singleton
web服务,因为web服务运行在IIS上,并且被视为web应用程序并被这样维护。每个客户端将共享单个应用程序实例,但每个客户端都有自己的请求、响应、会话等。
你总是可以将主数据对象设置为静态的,它将被所有的worker实例共享。