如何创建单例asmx webservice? (请不要说使用WCF和WWF:D)
答案 0 :(得分:3)
简答:你不想。
长答案:对.ASMX的请求将不确定地使用新的工作线程,因此即使您使用单例模式,也不会知道单例的生命。
也许详细说明你想做什么,我可以引导你走向最好的模式。
答案 1 :(得分:3)
我不确定单例如何解决您的性能问题,除非您在实例中缓存数据。在这种情况下,我同意上述在服务和数据库之间引入缓存的建议。这个数据有多可变?
答案 2 :(得分:3)
我不会建议WCF,但只是因为你很好地问我们。
我会提到您已经找到了使用WCF而不是ASMX的另一个原因。你可能想保留一份清单。
您可能还希望保留一份通过WCF使用ASMX的原因列表。您可能甚至想要使用相同的列表,原因是不升级到.NET 3.5 SP1。这不会很长。
当管理层想知道为什么某些事情需要很长时间才能完成,当你想要将它们发送给你的列表时,可能会有一段时间。
答案 3 :(得分:1)
你可以使用ashx(HttpHandler)。实现IHttpHandler并将IsReusable设置为false。
http://neilkilbride.blogspot.com/2008/01/ihttphandler-isreusable-property.html
答案 4 :(得分:1)
根据您的目的,您可以将引擎编写为可由ASMX调用的任何线程服务访问的单例。