Singleton WebService(ASMX,而不是WCF)

时间:2013-06-21 11:54:21

标签: c# web-services asmx

有没有办法将C#ASMX Web服务定义为单例?也许在Web.config文件中?目前我没有使用WCF。

提前致谢

    [WebService(Namespace = "http://www.mydomain.eu/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    public class MyService : System.Web.Services.WebService
    {
        ...
    }

3 个答案:

答案 0 :(得分:1)

您可以在单身外观的背后隐藏您的网络服务:

public static class ServiceFacade
{
    public static void ServiceOperation()
    {
        using (var service = new MyService())
        {
            service.Operation();
        }
    }
}

答案 1 :(得分:0)

您无法创建Singleton网络服务,因为网络服务在IIS上运行,并被视为网络应用程序并保持原样。每个客户端将共享单个应用程序实例,但每个客户端都有自己的请求,响应,会话等。

答案 2 :(得分:0)

您始终可以使主数据对象也是静态的,并且它将通过所有工作器实例共享。