我想基於使用ninject的url動態指定連接字符串。Ninject - 根據子域動態指定連接字符串
我正在使用使用webActivator的ninject.mvc nuget包。
我的代碼如下:
我注:
kernel.Bind<IUnitOfWork>().To<UnitOfWork>()
.WithConstructorArgument("connectionString", MvcApplication.GetConnectionStringName());
我的Global.asax
private static HttpContext _context;
public static string GetConnectionStringName() {
var subDomain = String.Empty;
if (_context != null) {
subDomain = _context.Request.Url.SubDomain();
}
return String.Format("{0}ConnectionString", subDomain);
}
的問題是_context(這是在我的Application_BeginRequest設置)總是null,因爲WebActivator在application_start之前運行。
當需要IUnitOfWork
而不是在應用程序啓動時,ninject是否可以指定呼叫MvcApplication.GetConnectionStringName()
?
有沒有更好的方法來做我在做什麼?
謝謝