2013-04-29 56 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