2010-12-15 44 views
1

我在我的web應用程序,需要由用戶可配置一些硬編碼值,之類的東西在哪裏電子郵件被髮送,積極的語言,以及一些其他的屬性。 web.config文件似乎是存儲此信息的好候選者,但在部署應用程序時必須處理寫入權限,這讓我無法繼續使用web.config。一個數據庫表可能是另一個解決方案...但它感覺有點難看。存儲用戶的應用程序設置,最佳做法和/或建議

什麼將是存儲該信息最合適的地方?

回答

2

爲Web應用程序,你最好的辦法是存儲在數據庫表中的信息。

web.config用於應用程序的配置設置,而不是用戶。

+0

用戶將改變的設置適用於整個應用程序,但仍適用您的觀點。 – JoseMarmolejos 2010-12-15 20:53:47

0

他們是「每個用戶」嗎?

如果是這樣的話,我會一直喜歡這家店的東西在數據庫中。

0

在我看來,數據庫是存儲此類信息的最佳場所。也就是說,最終用戶可以很容易地修改這些信息(而不是系統管理員)並且相對易變。您可以輕鬆地在應用程序級別緩存這些信息,以避免不必一次又一次地訪問數據庫。另外請記住,即使以編程方式執行web.config中的值,也會導致應用程序重新啓動。不一定希望最終用戶有權力去做。

0

web.config中似乎並沒有我像一個很好的候選人:

  • 它是應用程序的一部分,所以就像你說的,你的應用程序甚至可以不寫它的權限。
  • 當你有幾個用戶使用不同的設置時會發生什麼?
  • 如果您的應用程序已簽名,則在部署後無法更改web.config。

如果您的用戶是在您的數據庫中定義的,那麼最合理的解決方案就是放在那裏。

0

您是否使用ASP.NET Membership Provider?它包含一個'配置文件'部分,可讓您存儲/檢索每個用戶的設置。

1

在我工作的應用程序,以下區別使用:

  • 設置Web服務器上的文件:特定於Web服務器的設置,而不是數據庫它(例如,其主題連接使用,要使用的郵件服務器)
  • 數據庫表:設置特定於數據庫或當前用戶,而不是特定的客戶端機器的用戶正在使用(例如什麼模板,發送郵件)
  • Cookies/localstorage:特定於客戶機的設置(例如可移動面板的佈局,因爲o n不同的屏幕,你想要不同的佈局)

在所有情況下,API存在,提取讀取或寫入設置的細節。

-1

我認爲你必須嘗試一下資源文件。

相關問題