2

ホスト名に応じて特定のデータベースを使用するマルチテナント MVC4 アプリケーションを構築しました。

このサイトは、すべてのお客様のホスト名にバインドされています。

  • 訪問者が「domain1.com」にアクセスすると、「domain1.com」データベースが使用されます。
  • 訪問者が「domain2.com」にアクセスすると、「domain2.com」データベースが使用されます。

自動移行は通常、Application_Start() に配置されます。

Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyProject.Models.MyProjectContext, MyProject.Migrations.Configuration>());

これにより、アプリケーションの開始時に移行が実行されます。ただし、私のアプリケーションは複数のホスト名に応答するため、1 つのデータベースのみが移行されます。別のホスト名に切り替えると、アプリケーションがサーバーのメモリに既に読み込まれているため、そのデータベースは移行されません。

上記のコード行を Session_Start() に移動することでこれを解決しました。

これは良い習慣ですか?より良い解決策はありますか?

前もって感謝します、

アンドレアス

4

0 に答える 0