2009-06-18 49 views
2

我作爲上一位僱主的JSP/Struts開發人員負責的一個項目是一個主題標籤庫(作爲共享庫存在於每個WebSphere服務器上),它讓公司中的任何Java Web開發人員都可以像Intranet,公共等標準主題,只需很少的努力。主題包括頁眉,頁腳,導航以及鏈接到css & javascript等。他們甚至可以在我們給他們選項時自定義一些東西,比如選擇一個選定的選項卡。如何跨多個ASP.NET網站集中UI?

這種設置非常理想,因爲我們可以對任何標準UI元素進行集中更改,並且它們被所有使用主題的網站自動引入,而不需要網站開發人員的任何努力。

隨着12月份開始的新工作,我轉向使用ASP.NET。我想在這裏提出一些與主題應用類似的精神,因爲我們正在運行一系列應該具有統一外觀和感覺的不同網站。

完成此操作的最佳方法是什麼?我寧願不必重新編譯任何內容來更新主題來完成此工作。

編輯:

雖然我希望的是更好的答案,在神仙.NET顯然不同意我試圖完成。這裏有被發現的三個選項:

  1. 編譯母版頁成一個DLL,放入了GAC: 這個工作在簡單的情況下,但作爲破解它太脆。我無法讓它與我們的網站正常工作。

  2. 在每個Web應用程序中爲主頁面創建一個虛擬目錄:儘管它沒有提供一個非常舒適的開發環境,但它確實有效。但是,我們試圖擺脫的其中一件事是必須在每個Web應用程序內部創建虛擬目錄。沒有骰子。

  3. 創建一堆自定義控件,將它們編譯成DLL並將其放入GAC:這是我選擇的答案。這是最不集中的選擇,並且需要爲每個站點的開發人員提供更多的工作,但似乎是唯一的微軟祝福的方式。

總之,我與.NET在這個漂亮的沮喪。在事物的宏偉計劃中,主頁面只是代碼,我看不出有什麼理由不能輕鬆地將它們集中在多個Web應用程序中使用。與JSP/Java相比,這似乎是一個重大損失。

+0

你最終選擇使用你的UI集中化的方法?我一直很想知道這裏的答案是什麼,好像有一個比我在下面回答的更好的方法,我會非常感興趣的發現它是什麼! – Matt 2009-06-22 18:26:31

回答

0

你可以把一些用戶界面到定製控件或服務器控件的形式(如果不是在MVC),然後將它們放置在GAC從而分散他們。所有對該組件中控件的引用都將從gac的最新版本中提取。您也可以通過在服務器級別而不是應用程序級別控制的Machine.config來執行操作。