簡體   English   中英

多演示企業解決方案

[英]Multi Presentation enterprise solution

我正在設計一個企業Web應用程序,該應用程序將具有單個代碼庫和單個數據庫(基於租戶的數據庫不需要任何靈活性),但是基於客戶端的呈現方式則有所不同。 我們可能有3至4個使用相同核心邏輯和框架的不同客戶端(網站),但是特定於客戶端的標頭,頁腳,圖像,css等。我需要一個多演示解決方案,然后是一個完整的多租戶。 我在網上看到的大多數樣本都是針對成熟的多租戶的,我認為我不需要那些復雜的東西。 我在這里找到了一些對我的情況非常有用的信息:

http://jasonjano.wordpress.com/2010/02/22/multi-presentation-websites-for-c/

如以上鏈接中所建議,我能夠根據所請求的域(根據我的web.config文件中的以下配置)識別並獲取唯一的ID:

<configuration>
    <appSettings>
        <add key="MySite1.MyDomain.com" value="1"/>
        <add key="www.MySite1.MyDomain.com" value="1"/>
        <add key="MySite2.MyDomain.com" value="2"/>
        <add key="localhost" value="1"/>
    </appSettings>
</configuration>

之后,如何根據ID動態選擇我的母版頁,圖像和CSS文件? 另外,我將從數據庫中填充“ CustomAppSettings”類(如文章中所述),是否建議將其設置為靜態使其可以在不同層中訪問? 否則,推薦的方法是什么?

您的建議將不勝感激。

很高興看到您從這篇文章中得到了一些利用。 關於答案,我通常使用從system.web.ui.page繼承的自定義頁面類。 在自定義頁面類的page_init中,可以設置母版頁等。

類似於(偽代碼)的東西

class MyCustomPage : System.Web.UI.Page
{
public void Page_Init(object sender, eventargs e) {
this.MasterPageFile = CurrentSettings.MasterPageFile <Or however you are getting your masterpage file>
}

然后,在您的頁面中,繼承MyCustomPage類而不是System.Web.UI.Page。

祝好運

這可能有助於您從傳入請求中檢測“租戶”。

我不會動態選擇其他MasterPage文件, 而是通過HTML Helpers / Patrial Views(或兩者) 將不同的內容呈現到MasterPage中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM