2013-01-19 38 views
1

我有一個ServiceStack項目添加了ServiceStack Razor。任何時候我嘗試導航到網站的根目錄,我都會重定向到/元數據。ServiceStack始終默認重定向到/元數據即使當Default.cshtml目前

這不會發生在我的開發機器上,只發生在我的託管環境(AppHarbor)中。

我在我的項目的根目錄中有一個Default.cshtml。

瀏覽其他網址做工精細:/default1.cshtml/myservicewithviews

我試着在我的APPHOST搞亂DefaultRedirectPath,但這並沒有幫助。

試圖強制它DefaultRedirectPath = "default.cshtml"導致重定向循環。這是有道理的。

這是什麼造成的?

回答

2

當構建項目(AppHb FAQ)時,AppHarbor僅發佈標記爲「內容」的文件。這個文件是唯一沒有標記的內容,也是我爲什麼只在我的託管環境中遇到這種情況,並且可以訪問所有其他內容。

未檢測默認文檔導致ServiceStack設置RedirectHttpHandler到/元數據 - shown around here

另一個值得注意的一點是,AppHarbor的負載均衡導致它們的內部端口號等響應重定向執行事情時,在ServiceStack網址露面。

要解決此問題,以下內容添加到你的web.config:

<appSettings> 
    <!-- AppHarbor Setting to stop AppHb load balancer internal port numbers from showing up in URLs--> 
    <add key="aspnet:UseHostHeaderForRequestUrl" value="true" /> 
</appSettings> 

還可以配置在AppHarbor配置面板此設置。