我是一個絕對的ASP.NET初學者[MVC],所以這可能是一個愚蠢的問題。ASP.NET MVC路由服務在網站'頂級'的文件?
我想將一個url「http://localhost/clientaccesspolicy.xml」連接到特定的控制器操作。我怎麼能這樣做呢?
我也想知道如何靜態地爲這個URL提供一個文件。
(我能夠通過將它添加爲項目頂層的'內容'文件來靜態提供文件)。
我是一個絕對的ASP.NET初學者[MVC],所以這可能是一個愚蠢的問題。ASP.NET MVC路由服務在網站'頂級'的文件?
我想將一個url「http://localhost/clientaccesspolicy.xml」連接到特定的控制器操作。我怎麼能這樣做呢?
我也想知道如何靜態地爲這個URL提供一個文件。
(我能夠通過將它添加爲項目頂層的'內容'文件來靜態提供文件)。
這應該做的,因此所有其他路線保持不變......而你並不需要爲這個控制器動作..
routes.RouteExistingFiles = true;
routes.IgnoreRoute("clientaccesspolicy.xml");
'routes.RouteExistingFiles = true'因爲我假設對css的請求而產生混亂,圖片也被重新路由。除此之外,忽略路線工作正常。 – gideon
你可以做到這一點並說:
routes.RouteExistingFiles = true;
所有其他的路線之上。然後加:
routes.MapRoute(null, "clientaccesspolicy.xml", new { controller = "Foo", action = "Whatever" });
這應該工作,但我會警告你,這通常不是一個好主意。它所做的是告訴MVC路由系統停止提供與磁盤上相匹配的文件。這將包括你的圖像,CSS,腳本等。這將爲你做更多的工作,而不是我想象中的節省。
**注:**谷歌Chrome瀏覽器用戶。 XML文件得到了處理,但由於錯誤而無法在Chrome上顯示。我花了一個小時思考問題,但Chrome並未顯示該文件!啊! – gideon