2010-04-01 62 views
2

我做了一些工作,Web.Routing,使用它具有友好的URL和漂亮的休息就像接口是基本上是由一個單一的IHttpHandler呈現一個網站。沒有webforms,處理程序會生成所有的html/json並將其作爲進程請求的一部分寫入。Web.Routing爲站點根目錄或網頁

這非常喜歡的事情/網站/會計例子,但我不能讓它爲站點根目錄的工作,即「/」。

我曾嘗試註冊一個空字符串的路線,以「Default.aspx的」(這是空aspx文件我保持我的根文件夾播放用卡西尼和IIS不錯)。我明確地將RouteExistingFiles設置爲false,但無論我在點擊根URL時做什麼,它仍會打開default.axpx,它沒有代碼繼承它,並且包含一個簡單的h1標籤以顯示我已經點擊了它。

我不想更改默認的文件重定向到一個期望的路線,我只想當發現沒有其他的途徑,類似於MVC施加一個「缺省」路由的等價物。

作爲參考,以前版本的網站沒有使用Web.Routing,但在web.config中引用了一個處理程序,它完全能夠截取對root或default.aspx的請求。

規格:ASP.NET 3.5sp1,C#,沒有webforms,MVC或openrasta。普通的舊IHttpHandlers。

回答

0

解決了我自己的問題:問題是集成的Web服務器,卡西尼或其他一些問題。看起來它不適合播放路由,並且默認情況下會簡單地返回default.aspx文件,或者如果缺少,則顯示目錄列表。

在虛擬目錄中使用IIS可以很好地工作,但是很煩人(代碼共享者會因爲需要在打開我的應用程序時設置新的虛擬目錄而污染我自己的IIS實例)。但是,或者手動設置一個新的應用程序,所以我可以使用域主機只有像現場存在的路徑。

另一種方法是使用更新版本的cassini,看到here,如果默認.aspx文件丟失了,但我還沒有制定出如何將它與Visual Studio集成還。任何幫助,將不勝感激,但它不是一個大的優先考慮我的解決方法。

+0

順便說一句,這似乎是固定的.Net 4/VS2010/2012 – Earlz 2012-10-28 20:46:24

0

我意識到這是一個非常舊的帖子,但是我只是遇到了使用VS2012的相同問題,所以我在這裏發佈這個以防萬一。

我通過安裝IIS Express並設置項目在Visual Studio中使用IIS快速解決了這個問題。解決了這個問題。