2013-04-29 41 views
0

我有一个关于使用.NET HttpRuntime对象在Windows窗体环境中进行缓存的问题。我注意到,使用.NET我需要实例化HttpRuntime对象,我有一个有趣的感觉,这将导致问题。.NET 2应用程序缓存HttpRuntime

我有一个类,它暴露了我想要存储在缓存中的属性。问题是类需要实例化,并在其构造函数中创建HttpRuntime对象的实例。这会造成问题吗?我会有多个缓存实例吗?

public class Foo 
    { 
     public Foo() 
     { 
     System.Web.Runtime.HttpRuntime httpRuntime = new System.Web.Runtime.HttpRuntime(); 
     } 
    } 

在此先感谢,Onam。

+1

HttpRuntime需要将应用程序托管在Web服务器进程中。为什么你需要一个Windows应用程序的HttpCache? – 2013-04-29 08:34:54

+0

在.NET 2中没有像System.Runtime.Cache这样的缓存机制,这是一个.NET 4特性。只搜索网络会向我显示结果,说明使用HttpRuntime缓存。 – 2013-04-29 10:32:39

+0

看到这个问题:http://stackoverflow.com/questions/512343/generic-cache-mechanism-for-net?rq=1 – 2013-04-30 08:10:03

回答

0

HttpRuntime有一个属性Cache,但此属性是静态的。静态意味着所有HttpRuntime实例共享该属性。呃更好的说:整个应用程序使用相同的属性,因此Cache实例由您的整个应用程序共享。

+0

请原谅我的无知,但如果应用程序安装为每台机器的基础,我想象缓存只有这台机器才能看到?例如,MACHINE_1和MACHINE_2都安装了我的应用程序,两台计算机上都共享了HttpRuntime缓存? – 2013-04-29 10:26:59

+1

这是完全正确的。每台机器都有一个应用程序实例。并且每个应用程序实例都有自己的缓存实例。 – 2013-04-29 10:48:23