2011-11-12 81 views
0

我們有一個Web服務器,它已經在同一個站點內運行了許多單獨的應用程序,沒有任何問題。我剛剛在根上添加了一個新應用程序。許多這些應用程序在global.asax中使用路由表,正如我添加到根目錄中的那樣。而我得到的竟然是在web.config中,在<模塊>和<處理>部分錯誤,我的新根的應用程序在一個「子」應用程序添加相同的名字一個一個處理。但所有這些應用程序對模塊和處理程序都使用相同的名稱:它支持路由表,它們都稱爲「UrlRoutingModule」和「UrlRoutingHandler」。iis應用程序和子應用程序,web.config的互動

也就是說,我們現有的應用程序foo和bar運行爲http://example.com/foohttp://example.com/bar。 foo和bar都添加了一個名爲「UrlRoutingHandler」的處理程序。這似乎不會導致任何問題。現在我添加一個新的應用程序,基地,這是簡單地運行http://example.com。 (沒有子路徑。)它還添加了UrlRoutingHandler。一旦我添加這個應用程序,foo和bar不再可用。任何企圖達到他們給出錯誤500

有人可以給我一些線索發生了什麼?路由中的應用程序的web.config是否被「添加到」「子」應用程序的web.config中,但「對等」應用程序中的web.config是否不會互相影響?

我重命名基本應用程序中的處理程序,它看起來像那樣。但是「它有效,我不知道爲什麼」只比「它不起作用,我不知道爲什麼」要好一點。

回答

1

Web.config始終包含任何位於其父級別的內容。您可以覆蓋或刪除,但它始終是machine.config中所有內容到最多嵌套web.config的所有內容的總和。

相關問題