我一直在阅读关于以.Net Framework 4.0开始的新MemoryCache类的所有地方。从我读过的内容来看,您可以通过不同的.Net应用程序访问MemoryCache。我试图在Asp.Net应用程序和标准的Windows窗体.Net应用程序之间共享一个对象。如果我将该对象添加到.Net应用程序中的MemoryCache中,则Asp.Net应用程序不会看到它。有什么办法可以做到这一点?谢谢你的时间,这是不胜感激。ASP.NET MemoryCache在应用程序间共享
Windows窗体应用程序:
Dim cache As ObjectCache = MemoryCache.Default
Dim policy As New CacheItemPolicy()
policy.AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(60)
cache.Set("testcache", TestObj, policy)
Asp.Net应用:
Dim cache As ObjectCache = MemoryCache.Default
If IsNothing(cache("testcache")) Then Response.Write("TestCache Is Nothing")
谢谢 - 瑞安
谢谢帕布罗。你认为哪一个程序对新手程序员来说会更容易?你的时间值得赞赏。 – wayofthefuture 2013-03-09 20:03:09
基本上,我正在用windows窗体应用程序读取udp数据。 asp.net Web应用程序使用这个udp数据。这些数据每分钟大约有100封邮件。为了避免asp.net web应用程序的用户通过odbc连接拉动数据的延迟,我希望共享内存将使asp.net应用程序响应更快,因为应用程序必须一次拉大量数据库。谢谢! – wayofthefuture 2013-03-09 20:10:07
哦,我明白了。那么不,你不能像这样在不同的机器之间共享内存。最终,实际的数据需要从Winforms应用程序传输到服务器。你可以做的一件事就是在asp.net应用程序上创建一个WCF服务。 winforms应用程序每分钟调用一次该服务,使用这100个消息,并且在服务中,您可以选择将它们添加到本地缓存中,将它们存储在数据库中,或者两者兼而有之。 – 2013-03-11 14:02:18