2011-08-23 58 views
2

在.net窗體窗體應用程序中是否存在共享存儲之類的東西?我想要做的是構建一個設置窗體,其中每個用戶都可以將自己的設置保存在自己的機器上,需要顯式創建外部文件並將值保存在這些文件中。.net窗體窗體應用程序中的共享存儲

感謝

+0

不,我需要簡單的存儲在客戶端機器 –

+0

爲什麼不使用註冊表? – balexandre

回答

4

也許Isolated storage可以滿足您的需求。你也可以考慮註冊表。

+0

我將與獨立存儲去,謝謝 –

2

您可以使用「設置」來做到這一點 - 只要選擇「用戶」而不是「應用程序」 - 這樣的屬性不會被存儲到的app.config,但到嵌套目錄用戶主目錄。您也可以在運行時加載/保存這些設置(與app.config設置不同)

+0

但它會創建外部文件。 – Reniuz

+0

這樣,我必須從我的形式處理這些文件的,也是我想這些設置是用戶看不到的,這樣一來,用戶必須看到的設置文件 –

+0

是,如果用戶搜索他們的能力,他/她會發現他們 - 但他們在隱藏的目錄與id樣名稱等等。是的他們是外部的,但不是你不必操縱文件自己。作爲一個旁註:不管你保存在用戶計算機上的東西 - 如果用戶是聰明的,他/她將永諾看到它(相同的,如果您嘗試保存到互聯網) – Carsten

1

如果你想設置文件對用戶不可見,嘗試保存的註冊表設置,而不是應用程序設置的用戶範圍,我認爲這是對你的應用合適的方式。

+0

那些沒有看不見任何和「用戶」我強烈反對這種...註冊表是脆弱的,因爲它..沒有必要節省更多的東西在裏面:d – Carsten

+0

@CKoenig,我知道你提供的方式是一種保存應用程序狀態的用戶設置的好方法,但正如您在後期和評論中看到的那樣,他不會看到這些配置文件。 – saber

+0

@Coenoen,我想聽聽關於爲什麼Registry很脆弱的一些理由? – saber

2

設置有存儲地方,可惜,要麼在註冊表手段(這是嚴重虐待,並且在技術上存儲在Windows中的外部文件),在您在磁盤上創建一個外部文件,遠程服務器(通過http的xml)或數據庫。這些設置只需要存在一些可以再次加載的位置,但是您選擇寫入的位置取決於您。

我完全理解你不想通過閱讀,解析和加載來操作文件本身。翻轉一面,獲取設置,翻譯成配置格式,並寫入磁盤。這是一個令人討厭的過程。

您可以使用Application ConfigurationUser Settings,這些對用戶來說很容易看到。如果你想隱藏某些東西,那真的不是這樣的。一個真正想要窺探應用程序文件的用戶通常會找到他們正在尋找的東西,而且大多數情況下都會受到某種程度的影響。您可以加密您的配置設置,但您仍然需要使用該文件。

我的建議是實施一個像SqlServerCE這樣的數據庫。它是一種基於文件系統的數據庫中,數據是不會立即發生,你可以把文件保存在某個有些隱藏(即C:\ ProgramData \等\等),你不必做一大堆的工作。但就像我說的,你要求的東西需要一些工作。

+0

感謝您的寶貴信息,但我會與Renuiz關於隔離存儲的解決方案,這正是我需要的 –

相關問題