1

我继承了一个 ASP.NET MVC3 + NInject 应用程序,我的任务是在 SQL Server 级别实现虚拟专用数据库。为了使其工作,用于连接到 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 回答