1

ASP.NET MVC3 + NInjectアプリケーションを継承し、SQLServerレベルで仮想プライベートデータベースを実装する必要があります。これが機能するためには、SQLへの接続に使用される資格情報をユーザーに基づいて変更する必要があります。

セッション固有の情報をリポジトリ実装レイヤーに渡すにはどうすればよいですか?すべてのサービスとリポジトリの呼び出しにパラメータを追加したくありません。

現在、接続文字列は、リポジトリオブジェクトの作成時にweb.configエントリから設定されます。

4

1 に答える 1

0

この投稿を読んだ後: Ninject-サブドメインに基づいて接続文字列を動的に指定する

ベースリポジトリオブジェクトのコンストラクターにパラメーターを追加しました。

public DataObject( string connectionString)

次のように、バインディングコードでNinjectメソッドWithConstructorArgument()を使用しました。

k.Bind<Repository.Interface.Admin>().To<Repository.LinqToSql.Admin>().WithConstructorArgument("connectionString", context => GetConnString());
于 2012-05-16T13:59:37.327 に答える