私はASP.NET MVC5を使用しています。私はアプリケーションフォルダの外にあるフォルダからビューをレンダリングしたいと思います。 VirtualPathProviderのカスタムを登録しようとしましたが、純粋なhtmlページのレンダリングをサポートするためにVirtualPathProviderViewEngineを作成しました。私は後者の作業をしていますが、前者を動作させることはできません。問題のルートに移動すると、MVCはビューの内部Viewsフォルダをチェックし、見つからない場合は外部フォルダを探します。実際にWebアプリケーションフォルダの外にあるビューをMVC 5でレンダリングするにはどうすればよいですか?
コードをステップ実行すると、Viewsフォルダにあるファイルに対してFileExistsが呼び出され、ViewEngineコードが実行されますが、外部に存在するViewに対してFileExistsチェックが実行され、画面に404が表示されます。それはViewEngineコードに入ることはありません。私はここで単純なものが欠けていることを知っています。
サンプルフォルダ構造のスクリーンショットを添付しています。どんな助けでも大歓迎です。
ため、このリンクVirtualPathProviderとVirtualFile チェックをオーバーライドすることができますが、私は上で何にアクセスできることから悪意のあるスクリプトを防止するセキュリティ機能であるとして、これを見ることができましたサーバーではなく、アプリケーションのフォルダ内でのみ使用できます。 – krillgar
私はあなたの要点を見ていますが、私はMVCスタック全体にアクセスできると確信しています。また、アプリケーションの開発者として、自分が選んだ場所にある特定のファイルを探す能力が必要です。 – abraganza
潜在的な重複ターゲット:http://stackoverflow.com/q/5788631/1195056 – krillgar