【发布时间】:2010-02-23 23:47:36
【问题描述】:
我有一个初始化成本相对较高的对象,它提供了处理 Web 服务请求所需的线程安全计算方法。
我正在寻找在请求之间保持初始化实例可用的最佳方法。
一种方法是将其声明为静态变量。然后它将一直可用,直到 AppDomain 被回收。
这是一个较旧的 Web 服务,不使用 WCF,但如果可以提供更好的解决方案,则可以选择转换。
有更好的方法吗?
【问题讨论】:
标签: .net web-services asmx
我有一个初始化成本相对较高的对象,它提供了处理 Web 服务请求所需的线程安全计算方法。
我正在寻找在请求之间保持初始化实例可用的最佳方法。
一种方法是将其声明为静态变量。然后它将一直可用,直到 AppDomain 被回收。
这是一个较旧的 Web 服务,不使用 WCF,但如果可以提供更好的解决方案,则可以选择转换。
有更好的方法吗?
【问题讨论】:
标签: .net web-services asmx
缓存HttpRuntime.Cache中的对象怎么样?
MyObject val = (MyObject)HttpRuntime.Cache["MyCacheKey"];
if (val == null)
{
val = // create your expensive object here
HttpRuntime.Cache.Insert("MyCacheKey", val, null,
DateTime.Now.AddSeconds(3600),
System.Web.Caching.Cache.NoSlidingExpiration);
}
我将它在缓存中最多保留一个小时,但您可以根据需要进行更改。
【讨论】: