1
我已經繼承了ASP.NET MVC3 + NInject應用程序,我的任務是在SQL Server級別實現虛擬專用數據庫。爲了使其工作,用於連接到SQL的證書需要根據用戶進行更改。將會話信息傳遞到存儲庫層
如何將特定於會話的信息傳遞到存儲庫實現層?我寧願不爲每個服務和存儲庫調用添加參數。
當創建存儲庫對象時,當前連接字符串是從web.config條目設置的。
我已經繼承了ASP.NET MVC3 + NInject應用程序,我的任務是在SQL Server級別實現虛擬專用數據庫。爲了使其工作,用於連接到SQL的證書需要根據用戶進行更改。將會話信息傳遞到存儲庫層
如何將特定於會話的信息傳遞到存儲庫實現層?我寧願不爲每個服務和存儲庫調用添加參數。
當創建存儲庫對象時,當前連接字符串是從web.config條目設置的。
閱讀這篇文章後: 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());
打我。您的問題含糊不清,不包含任何顯示您現有代碼的代碼,並且沒有充分說明您需要什麼。所以......祝你好運。 –
不能在控制器級別注入所需的數據庫,假設存儲庫由接口驅動?聽起來像這是什麼設計是爲了處理,除非我錯過了一個細節,您的簡短描述不會透露 –
找到一種可能的方式來做到這一點在過去的職位:http://stackoverflow.com/questions/7024952/ninject-動態指定-A-連接字符串基於-上一個子域 – dehart