我使用MVC4在.NET中創建業務應用程序。該應用程序將被多個公司客戶使用,每個客戶都擁有自己的品牌元素(包括樣式表和徽標圖像)。 UI爲後端平臺調用Web服務以填充應用程序的各個區域;調用這些Web服務時必須提供客戶特定的參數。NET - 動態加載基於URL的應用程序配置
我的目標是部署應用程序的單個實例,同時使應用程序根據URL本身的一部分動態加載適當的品牌方案和Web服務參數。該應用程序將是一個面向公衆的消費者應用程序(由我的組織代表公司客戶託管),因此該URL必須易於記憶(因此不會依賴查詢字符串參數進行訪問),例如https://mysite.com/companyname。
意圖是提供具有單一代碼庫和功能集的產品(使產品更容易支持,而不是爲每個公司客戶提供多種不同的部署),同時支持有限度的品牌。我可以使用一小部分手動操作設置(例如爲每個客戶創建一個新的app.config,web.config或虛擬目錄)。
任何人都可以推薦一種建議的方法或最佳實踐來實現這種類型的應用程序?請注意,如果必須解析URL結構,則需要確保在開發環境,QA環境和登臺環境中可以正確複製結構。
我目前的方法需要將應用程序分別部署到不同的客戶特定環境,並且web.config文件中引用了自定義品牌和Web服務參數作爲「appsettings」鍵,這對每個客戶都是不同的。對於少量部署來說這是可以的,但是會因爲功能升級/錯誤修復推動成千上萬個客戶站點的需要而變得難以實施。謝謝!
想知道您是否考慮過數十家(或數百家)公司訪問單個網站的縮放選項? – oleksii 2012-07-16 13:34:59
您好Oleksii - 是的,該網站託管在一個負載平衡的平臺上,每天處理大約120萬個基於Web服務的請求,每個季度處理大約20億次批量事務(在數據庫上)。使用此應用程序的單個公司客戶在繁忙的一天可能會看到1000到5000個請求,而下降的天數大概是10個請求。如果我可以在單個負載平衡的Web /應用服務器平臺上部署25,50或100個部署之前,需要進行第二次部署代碼,我會非常高興(我主要試圖解決操作部署/版本開銷)。謝謝! – 2012-07-16 13:43:38