2010-03-21 107 views
2

我在做asp.net mvc的web應用程序。現在我處於幫助文本,eula,隱私政策等很多文本信息的階段。我意識到我不知道最好的方式來存儲這些文本。 1.直接在aspx頁面 2.在文本文件,然後通過計算機[]加載文本到aspx文件 3.在我的SQL數據庫對於文本內容我應該使用文本文件還是數據庫?

如果使用選項3我怎麼會那麼設計數據庫如eula =表x,privacypolicy =表y?

我想我只是需要一些方向的利弊與上述選項。

回答

1
  1. 直接在ASPX頁面 - > hell no! 。每次更改都必須重新編譯和發佈。這太可怕了。

  2. 如果這些數據不會頻繁更改,文本文件將使您可以使用更容易的緩存,但文本文件在許多不同方面都很糟糕。最後你會有幾十/幾百個文本文件,不知道是什麼引用了什麼。 (所以你將不得不保留一個數據庫表,指向這些文件)。

  3. 這導致這裏唯一可能的解決方案,將所有數據保存在數據庫中。你也可以使用緩存,或者甚至,如果它不是很多,則將所有內容存儲在應用程序變量中,每個iisreset都會重新編制索引。

  4. 沒有太多的經驗,但也許使用LocalResources將是一個好主意。這將使您(如果需要)進一步提供多種語言支持。

+1

爲什麼會有數據庫引用外部文件導致「不知道什麼引用什麼」? – bignose 2010-03-21 06:15:10

+0

@bignose:意思是說,你必須使用數據庫來創建引用,否則你將不知道引用了什麼。 – Faruz 2010-03-21 06:23:14

0

如果這些文件已經存在,並且可能會在稍後改變,那麼從文件名中引用它們可能是一個好主意。

另一方面,如果您希望文本本身存在於數據庫中,那麼擁有一個「頁面內容」表可以很好地處理每個元組代表一個單獨的文本:一個屬性是文本的標識符,一個屬性是全文本身。

無論選擇哪種方式,我建議你到遵循DRY principle,靠撿一個典型易於管理的位置,並嚴格執行。