2010-01-12 25 views
1

在哪裏可以保存字符串,並且在程序運行時,用戶可以更改它 - 覆蓋。 (不是配置文件,我不希望任何人看到寫入的內容)。c#在代碼中保存更改字符串

非常感謝。

+2

你的問題並不十分清楚。你究竟想要做什麼?你想要保存什麼字符串,你想重寫什麼? – Eilon 2010-01-12 06:48:25

+0

感謝您的回覆!例如,sql server名稱爲 ,用戶可以在程序運行時更改它,當程序再次啓動時,它將連接到用戶編寫的其他sql服務器。 – 2010-01-12 06:52:02

回答

2

由於您使用的是Windows應用程序,最好的辦法是isolated storage.

[老答案]
如果您使用的是Web應用程序:
如果你想要做保存字符串,直到用戶登錄然後你可以將它存儲在會話狀態中,如果你想在IIS中存儲它的一生的Web應用程序,那麼你可以使用應用程序狀態

當然,如果需要,你可以將它們存儲在數據庫中。

+0

sory,桌面應用程序 – 2010-01-12 07:01:39

0

您可以在保存到配置之前加密字符串,以防止用戶讀取該字符串。

+0

謝謝,它是解決方案,但不可能將它保存在EXE文件中? – 2010-01-12 07:01:05

+0

你可以嘗試使用反射散發存儲在DLL中,我不認爲你可以改變正在執行的EXE ...隔離存儲也是一種存儲這種數據的方式,但它也不太安全,所以你應該加密在這種情況下。 – 2010-01-12 07:14:21

1

您可以使用Settings(在項目屬性中)來存儲USER和APPLICATION特定的值。 USER值可以在運行時由用戶更改和保存,並存儲在系統的用戶的appdata目錄(user.config)中,而APPLICATION值存儲在應用程序目錄中的OUTPUTFILE.CONFIG文件中。

加載它們之前,您可以在保存和解密之前加密這些USER值。值可以訪問爲:Properties.Settings.Default.SETTINGNAME

此外,如果你想自己做讀寫,你可以檢查EncryptedXml類。

+0

Tahnks你!是不是可以將讀取日期保存在EXE文件中? – 2010-01-12 07:39:11

+0

我不認爲有可能更新EXE文件本身。 DOC,XLS等Office文件可以使用DSOFILE庫保留自定義屬性,但對於EXE,我不知道任何此類實用程序 – A9S6 2010-01-12 08:02:35