我在ASP.NET MVC項目中使用Ninject進行依賴注入。我有很多存儲庫類,每個類都在構造函數中使用連接字符串參數。使用Ninject解析連接字符串
當前爲每個映射我也要傳遞連接字符串。
Ex。
Bind<INewsRepository>().To<NewsRepository>().WithConstructorArgument("connectionString", "Data Source=...");
Bind<IProductsRepository>().To<ProductsRepository>().WithConstructorArgument("connectionString", "Data Source=...");
是否有可能將「connectionString」直接綁定到全局級別的配置值而不是在每個綁定處指定?
爲什麼將連接字符串包裝在一個額外的接口中?爲什麼不將連接字符串綁定到每個存儲庫的類構造函數?哪裏將每個IConnectionStringWrapper綁定到repo構造函數的優點? – Elisabeth 2013-12-30 12:46:54
這是所有關於保持在一個地方。如果要更改連接字符串,只需在ConnectionStringWrapper類中進行更改。如果您有多個ConnectionStringWrapper類,比如測試,驗收和生產,那麼該接口很有用。您可以使用Ninject將正確的類綁定到接口。 – Wim 2014-01-02 09:29:18