2012-07-25 44 views
3

如果我的應用程序部署到除域根以外的任何地方,我在使用基於數據驅動的URL的邏輯(用於路由)的MVC應用程序存在一些問題。在MVC應用程序中的應用程序根?

我試過使用各種Request.Url屬性無濟於事。

比方說,我將我的應用部署到www.mydomain.com/myapp/甚至www.mydomain.com/myapp/subapp/。在這些情況下,我怎樣才能分別得到/myapp//myapp/subapp/。即使用戶使用的是完全不同的頁面,例如/myapp/Users/Recent/

我需要這個,所以我可以前綴所有的數據驅動的URL,所以我的應用程序仍然工作時,不在域的根。

謝謝。

回答

9

您正在尋找HttpRuntime.AppDomainAppVirtualPath

請注意,所有Url.*傭工都會爲您做這件事。

+0

路由表將使用完整路徑,對吧?也就是說,如果應用程序部署在'... \ must \ go \ deeper \ theApp',路由規則將從'theApp'開始應用? – 2012-07-25 21:02:05

+0

只是一個次要類型,但它的AppDomainAppVirtualPath。謝謝。 – SventoryMang 2012-07-25 21:11:55

+0

@AndreCalil我爲靜態內容和多個區域執行自定義路由,因此它與默認規則略有不同。 – SventoryMang 2012-07-25 21:13:01