none
Web系統可以根據設定決定要載入的resource檔嗎?? (非多國語系) RRS feed

  • 問題

  • 我有兩套Web系統

    這兩套系統提供的功能幾乎相同。但多少有一點差別。

    我的文字相關呈現幾乎都放於Resource中

    例如

    <asp:Label ID="Label1" runat="server" 

                Text="<%$ Resources:Resource, String1 %>"></asp:Label>

    用這樣的方式放在各aspx的頁面上。

    我的問題是,因為同一個頁面上,這兩套系統要呈現的文字會有不同的狀況。

    例如首頁,可能分別是「歡迎來到A公司網站」與「歡迎光臨~您來到B公司網站的首頁」類似這樣的狀況。

    面對此狀況我只想到兩個方案

    1.建立兩組resource檔案,在每一頁的cs檔上判斷系統別決定Label要讀取的檔案(量很大)

    2.建立兩個相同的站台,但resource檔案不同。(目前採用)


    但又如同我先前提到的,這兩個站台幾乎功能一樣。

    所以導致我每次開發完A站台就要採用複製的方式將新的內容貼到B站台上。

    這樣反覆誤置操作我又覺得有點奇怪....

    故最理想的狀況是能否類似多國語系一樣

    resource有兩組,程式碼可以判斷要讀取哪一組resource來呈現aspx的頁面。

    2012年10月17日 上午 03:33

解答

  • 所以您到底是用兩個系統面對客戶,還是只用一個系統面對客戶啊?
    這會影響到您到底是一個站台還是兩個站台。

    以這例子來說,您也大可以不需要用內建的resource檔,而自己建立一個xml or json檔案即可。

    舉例來說,有兩份XML檔,分別存放A公司跟B公司的文字呈現內容,但schema都相同,就是個key-value pair集合。

    在網站進入點(例如Global.asax),依據條件去決定採用哪一個設定檔,反序列化後,轉成dictionary後Cache起來。

    網頁的程式碼就是一模一樣了,應該可以透過一個static的class/method去取得key對應的呈現資訊。


    授人以魚,三餐之需;授人以漁,終生之用。
    希望各位發問的朋友,得到的是如何釣魚的知識。之後也可以分享給別人,釣魚的知識。而不是肚子餓了,就上來討魚吃。

    若您的程式碼有SQL injection的問題,在修改完畢之前,我不願意給您任何解答。因為解決了您的程式問題,造成更大的系統漏洞問題,還不如讓程式壞掉。

    請參考:SQL injection簡介與解決方式

    常用資源參考:


    小弟的blog: In 91,wiki: my wiki

    2012年10月17日 上午 03:46
    版主
  • 如果您的程式碼是只有一套

    差別的是在於提供給A公司時會有A公司的設定值,提供給B公司時會有B公司的設定值

    那麼就建立一個XML格式的Config檔案,這個Config檔案內容值by各公司不同

    然後在撰寫一個class去取得您所需要的值就好


    軟體開發領域裡區區一個迷途工程師
    MyBlog: http://www.dotblogs.com.tw/ian/
    開發ASP.NET您要瞭解的基楚

    2012年10月17日 上午 05:01
    版主

所有回覆

  • 所以您到底是用兩個系統面對客戶,還是只用一個系統面對客戶啊?
    這會影響到您到底是一個站台還是兩個站台。

    以這例子來說,您也大可以不需要用內建的resource檔,而自己建立一個xml or json檔案即可。

    舉例來說,有兩份XML檔,分別存放A公司跟B公司的文字呈現內容,但schema都相同,就是個key-value pair集合。

    在網站進入點(例如Global.asax),依據條件去決定採用哪一個設定檔,反序列化後,轉成dictionary後Cache起來。

    網頁的程式碼就是一模一樣了,應該可以透過一個static的class/method去取得key對應的呈現資訊。


    授人以魚,三餐之需;授人以漁,終生之用。
    希望各位發問的朋友,得到的是如何釣魚的知識。之後也可以分享給別人,釣魚的知識。而不是肚子餓了,就上來討魚吃。

    若您的程式碼有SQL injection的問題,在修改完畢之前,我不願意給您任何解答。因為解決了您的程式問題,造成更大的系統漏洞問題,還不如讓程式壞掉。

    請參考:SQL injection簡介與解決方式

    常用資源參考:


    小弟的blog: In 91,wiki: my wiki

    2012年10月17日 上午 03:46
    版主
  • 如果您的程式碼是只有一套

    差別的是在於提供給A公司時會有A公司的設定值,提供給B公司時會有B公司的設定值

    那麼就建立一個XML格式的Config檔案,這個Config檔案內容值by各公司不同

    然後在撰寫一個class去取得您所需要的值就好


    軟體開發領域裡區區一個迷途工程師
    MyBlog: http://www.dotblogs.com.tw/ian/
    開發ASP.NET您要瞭解的基楚

    2012年10月17日 上午 05:01
    版主