2011-10-20 10 views
1

私のMVC 3サイトでは、パス~/_Content/*は両方とも、jpgs、データベースからのGIFを提供するMVCルートにマップされていますが、私はカスタムを持っていますVirtualPathProviderこれらのURLをピックアップし、データベース構造を走査してRazorを必要に応じてASPX)ページ。データベースのWeb.Configは可能ですか?

SqlCacheDependencyをエンティティフレームワークのクエリ(まったく別の記事)で動作させる方法を理解しようとしてから、私はRazorページを要求してコンパイルして実行することができます。基礎となるファイルがデータベース内で変更されたときに再構築されます。

次のステップでは、ViewEnginesにさらにViewLocationFormats(その他)を追加して、データベース内のビューの検索をサポートします。

もう1つ問題があります。これらのページは、サイトの通常のレイアウトページを操作するためにWebViewPageまたはWebViewPage<TModel>から継承する必要があります。

私は明らかに@inheritsを使うことができますが、私はむしろそれを「うまく動作させる」と思っています。つまり、論理的なことはコンテンツ階層にweb.configを埋め込むことです。標準~/Viewsフォルダー。

これを試してみると、Asp.Netはそれに注意を払っていません。おそらく、物理的にディスク上にあるweb.configファイルしか探していないためです。

私は<location path="_content" ...ディレクティブをサイトのメインのweb.configで使うことができますが、理想的にはコンテンツデータベースの端から細かい制御ができるようにしたいのです。

どのようにしてAsp.Netを取得し、これらのコンテンツ管理Web.configsを自動検出することができますか?

答えて

0

おそらくあなたはこれについてほとんど何もすることはできません。下記の質問と回答を見てください。私の主なポイントは、Webアプリケーションのフォルダに通常のweb.configがない場合、どこから接続文字列データベースにアクセスするには?とにかく設定のためのシングルとデフォルトのエントリーポイントが必要です。あるいは、他のテキストファイルや環境変数のようなものをカスタマイズしない限り、dbに到達して接続する方法はわかりません。

はamywayここを参照してください:私はweb.configファイルの外に座っている独自のIOCコンテナを使用しているよう

Using ConfigurationManager to load config from an arbitrary location

Loading a different web.config file at runtime fo ASP.NET

+0

まあ、たっ文字列は必ずしも問題ではありません。私はまだルートweb.configが必要です - 実際にはDBにマップされている仮想パスのために通常通り再定義する方法です。これらのリンクは役に立ちますが、感謝します。 –

関連する問題