2012-01-10 32 views
0

我們有一個用傳統ASP編寫的網站,然後我開始使用Web窗體進行擴展。這些擴展名存在於主文件夾的子文件夾中。現在我們已經決定我們更願意使用MVC3。另外,由於我們希望隨着時間的推移將我們的所有站點轉換爲MVC3,因此我們將在應用程序根目錄中託管MVC代碼。我發現了一些其他問題,人們對我有類似的問題,但沒有解決方案。問題很簡單,我的Web表單應用程序似乎無法停止從根文件夾繼承web.config設置,因此,它不會運行,它可能會抱怨丟失的dll或抱怨運行錯誤的.NET版本,或者抱怨我需要刪除一些設置(我試過並且永遠無法正常工作)。子文件夾中的應用程序還託管着一個由我們的應用程序調用的Web服務,並且它還運行HTTP處理程序來保護我們的映像內容,所以它裏面有一些東西。我是否需要在子文件夾中運行我的MVC網站?有什麼方法可以在Web窗體應用程序上方的文件夾中使用MVC?我更願意做一些事情,讓他們共享會話數據,但在尋找可能在這個階段是不可能的......在同一IIS7實例上託管MVC和webforms站點 - web.config繼承

所以要明確的文件夾結構爲:

<root> 
    contains asp site and MVC site. 
    <subfolder> 
     contains webforms application 
    </subfolder> 
</root> 

和我的問題讓子文件夾運行,最好在與MVC應用程序相同的會話中運行。

回答

0

沒有理由不能在MVC網站上運行常規的.aspx文件。你是正確的,但web.config設置是從父(鏈)繼承,但你只需在你的目錄中添加一個新的web.config和相關的設置。

你將不得不做的就是使用路由,因爲默認情況下MVC會將所有請求路由到你的控制器類。但是,如果你圍繞它的谷歌相當簡單的路由添加一個例外。

如果您發佈了一些具體的錯誤,我們可能會進一步幫助。

哦,你的意思是經典的ASP?即不是傳統的ASP.NET?因爲您可以在ASP.NET之間共享會話數據。

+0

是的,我們使用數據庫來獲取ASP.NET和ASP之間的數據。它確保會話在Web表單和MVC之間保持一致,這是我的擔憂。路由不是我的問題,我可以在根中加載一個aspx,但我無法從子文件夾中的應用加載任何東西。 – cgraus 2012-01-10 04:10:37

+0

路由幾乎肯定會成爲問題的一部分,因爲它將子文件夾路由到控制器 - 必須停止。這就是說,如果你能提供詳細的確切的錯誤,我們可以幫助更多。 – 2012-01-10 04:14:57

+0

那麼,我需要花一些時間來做web.config更改,以獲得我所得到的不同錯誤的整個色域,但他們歸結爲'不允許重複web.config部分'和'無法加載dll因爲你的網站運行在.NET的舊版本上「。我的解決方案是能夠運行這個應用程序,所以它不會繼承根文件夾的設置。我不認爲任何代碼改變,不會這樣做,將解決我的任何特定的錯誤信息。 – cgraus 2012-01-10 04:19:15