我使用C#代碼隱藏頁面創建了一個web服務器。 我想要的是一個用戶查看和提交的東西在頁面上, 和數據存儲服務器端,以這樣一種方式,它的持久性, 和其他用戶可以查看該數據。服務器端的持久數據
我是restriced把它保存到一個平面文件或數據庫,或者是有某種功能的,我可以在C#或.NET用於此目的,就像一個peristent跨會話變量或東西嗎? (正常的靜態變量將每個不同的用戶不同的,對吧?)
我使用C#代碼隱藏頁面創建了一個web服務器。 我想要的是一個用戶查看和提交的東西在頁面上, 和數據存儲服務器端,以這樣一種方式,它的持久性, 和其他用戶可以查看該數據。服務器端的持久數據
我是restriced把它保存到一個平面文件或數據庫,或者是有某種功能的,我可以在C#或.NET用於此目的,就像一個peristent跨會話變量或東西嗎? (正常的靜態變量將每個不同的用戶不同的,對吧?)
任何靜態變量對所有用戶都是通用的,但您應該使用Application。它像Session一樣對所有用戶都很普遍。如果您需要在應用程序重置時使用持久性,請使用數據庫。
我是restriced把它保存到一個平面文件或數據庫,或者是有某種功能的,我可以在C#或.NET使用 以此目的?
不能有另一個特點。請參閱平面文件(即您編寫的文件或其他服務寫入的文件)和數據庫(可以是SQL數據庫,文檔數據庫或任何其他形式),邏輯上涵蓋了持續數據的所有可能性。理論上來說,我認爲沒有其他方法可以解決平面文件(即您管理的文件)或數據庫(一些驅動程序或服務器進程管理的文件)。
什麼你問的是類似「我有一臺收音機,它可以打開或關閉,有沒有它可以在任何其他國家?」 - 壞消息,不,不管它是開還是關。
.NET框架中的任何功能都可以運行到您最後指定的兩個名稱之一。
您可以測試這些緩存變量
Cache["Key"] = yourValue;
Application["Key"] = yourValue;
您有相關的會話另一個緩存,但它不是全球:
Session["Key"] = value;
你在你的頁面有另一個緩存
ViewState["Key"] = value;
如果你沒有很多的數據,將其存儲到內存中,並寫入使用或者XmlSerializer
或BinaryFormatter
盤。
你會希望來自世界各地的內存來存儲你的數據作爲申請單,可以訪問你的頁面集合中。
正是我真正需要的,謝謝!應用 - ,因爲它與創建它的進程死掉我確信靜態變量是運行在後端代碼每個用戶不同的,但顯然,這是聯繫在一起的網絡服務器,而不是用戶的交互 –
HttpApplicationState是不是永久性的。 –
我沒有使用正確的詞 - 堅持不是我想要的。對我而言,重要的是所有瀏覽頁面的用戶都應該可以訪問這個變量,而且如果一個用戶修改了這個變量,另一個用戶刷新頁面就會看到這個變化。當然,即使用戶退出網頁,變量也會保留。 它使用靜態時的功能。它只會在Web服務器出現故障時丟失,這很好 –