在.NET Web Service中保留数据的最佳方法

Her*_*Lie 4 .net memory persistence json web-services

我有一个Web服务查询来自此json文件的数据,但我不希望Web服务每次都必须访问该文件.我想也许我可以将数据存储在其他地方(可能在内存中),因此Web服务可以在下次尝试查询相同数据时从那里获取数据.我有点理解需要做什么,但我不确定如何实际做到这一点.我们如何在Web服务中保留数据?

更新: 这两个建议,缓存和使用静态变量,看起来不错.也许我应该只使用两个,所以我可以先看一个,如果它不在那里,使用第二个,如果它不在那里,那么我会看看json文件.

Mar*_*rie 5

延伸Ice ^^ Heat的想法,您可能想要考虑缓存的位置 - 将缓存json文件的内容缓存在应用程序缓存中,如下所示:

Context.Cache.Insert("foo", _
                 Foo, _
                 Nothing, _
                 DateAdd(DateInterval.Minute, 30, Now()), _
                 System.Web.Caching.Cache.NoSlidingExpiration)
Run Code Online (Sandbox Code Playgroud)

然后在每次点击时生成所需的结果.或者,您可以在函数定义上缓存Web服务输出:

<WebMethod(CacheDuration:=60)> _
Public Function HelloWorld() As String
    Return "Hello World"
End Function
Run Code Online (Sandbox Code Playgroud)

XML Web Service缓存策略收集的信息.