2010-11-22 12 views
0

MVCサイトをいくつかのアセンブリに分割して再生しています(issues earlier)。ASP.NET MVC 3 RCとカスタムViewEngineを使用して外部からの読み込みを可能にする

私はほぼすべての作業を行っていますが、外部のアセンブリでロードできるメインMVCプロジェクトが見つかりました。外部アセンブリは基本的に外部の領域です。私はそれがビューとweb.configをメインサイトのAreas-folderにコピーしたとき、すべてうまくいった。さて、そのフォルダはしばらくして少し肥大化していく可能性が高いので、代わりにエリア・アセンブリのリソースとしてビューを追加しようと考えました。

自分で作成したVirtualPathProviderと私自身のVirtualFileは、すべてがうまいと思ってHostingEnvironmentと登録しました。これは、ViewEngineによる次の表示負荷ではなく、HostingEnvironmentに最初に追加されたVirtualPathProviderを使用していることがわかります。ViewEngineを実装することで、これを回避する方法の例をいくつか見つけました。自分のVPP。しかし、ええ、これは結局のところ、RazorViewEngineWebFormViewEngineでもないが、それはそう、「キーの機能」の2、FileExistsIsValidPathを実装

... MVC 3のために実行可能なソリューションであるとは思われません。これらはBuildManagerViewEngineから継承されています。これらのメソッドはsealedとマークされています。

これをMVC 3で試してみて、正しい方向に私を少しでも向けることができる人はいますか?私はかなり長い間MVC 3のソースを見てきましたが、これを行う方法は見えません。

+0

BuildManagerViewEngineはVirtualPathProviderViewEngineから継承されていますが、実際にはHostingEnvirnmentのVPPを使用しているようです。今私は混乱しています。 – Robin

答えて

1

今私はちょっと愚かな気がします。 Application_Startでそれを持っていましたが、代わりにPreApplicationStartMethodに移動したときにはViewEngineで使用されていました。 (ViewEngineの実装は必要ありません、wey!)

問題は、リソースとして保存されているビューにアクセスしようとすると、レンダリングされる代わりにダウンロードされます。これとは違う何か!

関連する問題