私は、単一のコードベースと単一のデータベース(テナントに基づくデータベースの柔軟性は必要ありません)を持ち、クライアントに基づいて異なるプレゼンテーションを行うエンタープライズWebアプリケーションの設計に取り組んでいます。同じコアロジックとスケルトンを使用する3〜4つの異なるクライアント(Webサイト)がありますが、クライアント固有のヘッダー、フッター、画像、cssなどがあります。マルチプレゼンテーションソリューションと本格的なマルチテナンシーが必要です。私がオンラインで見たサンプルのほとんどは、本格的なマルチテナンシーを対象としています。複雑なものは必要ないと思います。私の場合に非常に役立ついくつかの情報をここで見つけました:
http://jasonjano.wordpress.com/2010/02/22/multi-presentation-websites-for-c/
上記のリンクで提案されているように、web.configファイルの以下の構成に従って要求されたドメインに基づいて一意のIDを識別して取得できます。
<configuration>
<appSettings>
<add key="MySite1.MyDomain.com" value="1"/>
<add key="www.MySite1.MyDomain.com" value="1"/>
<add key="MySite2.MyDomain.com" value="2"/>
<add key="localhost" value="1"/>
</appSettings>
</configuration>
この後、IDに基づいてマスターページ、画像、CSSファイルを動的に選択するにはどうすればよいですか?また、データベースから「CustomAppSettings」クラスにデータを入力します(記事で提案されているように)。異なるレイヤーでアクセスできるように静的にすることをお勧めしますか?それ以外の場合、推奨される方法は何ですか?
あなたの提案をいただければ幸いです。