2013-12-18 68 views
2

我在Visual Studio 2013中有一個主要項目,一個大型網站。它是一個我們正在逐漸遷移到.NET中的網站。主項目由幾個部分組成,並擁有自己的web.config。舉例來說,該網站是www.example.com在Visual Studio 2013中的應用程序中運行應用程序?

根據www.example.com,我們有很多的子文件夾。其中一些子文件夾我只是簡單地運行根應用程序和根web.config,因此不需要單獨的應用程序,但是我現在開始遇到一些文件夾,這些文件夾曾經是獨立的.NET應用程序,並帶有自己的web.config文件和他們自己的應用程序實例在IIS中。假設其中一個應用程序子文件夾是www.example.com/app1/。但是,當我將/app1/移動到我的項目中時,由於在文件結構定義中使用了「〜/」,並且僅僅因爲這些文件夾曾經是單個應用程序,所以主頁面和佔位符引用不同步。

我的問題是,是否有可能在主應用程序中構建和部署這些子文件夾作爲他們自己的應用程序,同時保持其「〜/」.NET鏈接結構?此外,如果可能的話,在一個主應用程序項目中維護多個應用程序是否是一種好的做法?我想我不是唯一需要或要求這樣的人。或者我應該將這些子文件夾作爲單個項目添加到主項目中,並以依賴性順序構建它們?

回答

1

在你的情況下,爲了保持整潔,我將有一個包含多個Web項目的解決方案,每個項目對應於IIS中的每個Web應用程序。請記住,由於您在服務器中配置了文件夾,因此您不需要在開發環境中具有相同的環境。所以,你可以在VS解決這些結構:

\My Solution 
-- \ Web App 1 (Root) 
-- \ Web App 2 (Subfolder 1 in Root) 
-- \ Web App 3 (Subfolder 2 in Root) 
-- \ Web App 4 (Subfolder 3 in Root) 

你只需要採取謹慎的部署每個Web應用程序在服務器上正確的文件夾。必須在IIS中爲特定的web.config文件配置爲應用程序的文件夾。

+0

那麼這被認爲是最佳做法?我們的開發測試環境都匹配,所以雖然我不一定需要類似的環境,但如果我正確地理解了你,它有時更有意義。 – Followmarko

+0

我不認爲這是最好的做法,因爲應用程序內部的應用程序對我來說不是一個好習慣,因爲我沒有把它看作是一種常規方法。但既然你有這樣的想法,我建議你如何應付它,讓你的生活更輕鬆。 另一個解決方案可能是所有web.config文件的「合併」,以及修復正確文件夾的「〜\」,並結束應用程序內的應用程序。但請注意,您可以在應用程序/站點內部有一個Application文件夾,該文件夾在文件系統中並不真正位於主/根文件夾內。 –

+0

您可以,我認爲在這種情況下,您應該分開應用程序和子應用程序的邏輯,因爲首先,它們都是獨立的應用程序。如果他們不是爲什麼這樣配置? –

相關問題