私は2つの異なるサイトで使用されるアプリケーションを持っています。各サイトには独自のデータベースがあります。Ninjectを使用してDbContextを切り替えるユーザーセッションごとに依存性注入
2つのDbContextが各サイトに1つあります。ユーザーが自分のアプリケーションを開くと、自分のサイトを選択するスプラッシュページが表示されます。サイトを選択した後、カーネルはリバウンドして、選択したサイトのDbContextを使用します。
ボブ&メアリーの説明のために今すぐprivate void RebindDbContext(string site)
{
switch (site)
{
case "Site1":
_kernel.Rebind<DbContext>().To<DbContext1>().InRequestScope();
break;
case "Site2":
_kernel.Rebind<DbContext>().To<DbContext2>().InRequestScope();
break;
}
}
: ボブはサイト1を選択しかし、メアリーが選択したときに、ボブのためのdbContext 2.サイトは、私が欲しいサイト2に再結合しているときこれが正常に動作しますBobとMaryがお互いに影響を与えずに同時にアプリケーションを使用できるようにすることです。
私はTransientScope、ThreadScope、InRequest Scopeを使用しようとしましたが、これらのどれもうまくいきませんでした。
アプリケーションは、IISサーバー上
この目的のためにninjectプロバイダを使用することはどうですか?または、再バインドの代わりにメソッドにバインドします。 – MaKCbIMKo