2012-05-15 79 views
1

我已經繼承了ASP.NET MVC3 + NInject應用程序,我的任務是在SQL Server級別實現虛擬專用數據庫。爲了使其工作,用於連接到SQL的證書需要根據用戶進行更改。將會話信息傳遞到存儲庫層

如何將特定於會話的信息傳遞到存儲庫實現層?我寧願不爲每個服務和存儲庫調用添加參數。

當創建存儲庫對象時,當前連接字符串是從web.config條目設置的。

+1

打我。您的問題含糊不清,不包含任何顯示您現有代碼的代碼,並且沒有充分說明您需要什麼。所以......祝你好運。 –

+0

不能在控制器級別注入所需的數據庫,假設存儲庫由接口驅動?聽起來像這是什麼設計是爲了處理,除非我錯過了一個細節,您的簡短描述不會透露 –

+0

找到一種可能的方式來做到這一點在過去的職位:http://stackoverflow.com/questions/7024952/ninject-動態指定-A-連接字符串基於-上一個子域 – dehart

回答

0

閱讀這篇文章後: Ninject - dynamically specifying a connection string based on a sub domain

我添加了一個參數到基礎資源庫對象的構造:

public DataObject(string connectionString) 

並且在綁定代碼所使用的Ninject方法WithConstructorArgument()如下:

k.Bind<Repository.Interface.Admin>().To<Repository.LinqToSql.Admin>().WithConstructorArgument("connectionString", context => GetConnString());