我正在使用ASP.NET MVC5,我想從應用程序文件夾之外的文件夾渲染視圖。我嘗試註冊自己的自定義VirtualPathProvider,甚至創建了自己的VirtualPathProviderViewEngine來支持呈現純html頁面。我有後者的工作,但不能讓前者工作。當我導航到有問題的路由時,我希望MVC檢查視圖的內部視圖文件夾,然後如果找不到,我希望它在外部文件夾中查找。我怎樣才能讓MVC 5呈現物理上位於Web應用程序文件夾之外的視圖?
當我單步執行代碼時,會調用FileExists來查找位於Views文件夾中的文件,然後運行ViewEngine代碼,但對於位於外部的View,將運行FileExists檢查,然後在屏幕上顯示404。它永遠不會進入ViewEngine代碼。我知道我錯過了一些簡單的東西。
我可能是錯的,但我認爲這是一個安全功能,防止惡意腳本的能夠在訪問任何服務器,而不是僅在應用程序的文件夾中。 – krillgar
我明白了你的觀點,但我確定我可以訪問整個MVC堆棧,並且作爲應用程序的開發人員,我應該能夠在我選擇的位置查找特定文件。 – abraganza
潛在的重複目標:http://stackoverflow.com/q/5788631/1195056 – krillgar