0

我正在尝试通过我的 StructureMap IoC 启用 SqlCacheDependency,我正在使用 LinqToSql 我已经完成了处理 Linq 缓存的代码,但不太确定如何设置 SqlCacheDependency,因为它需要将它放在全局中。文件

void Application_Start(object sender, EventArgs e) 
{
    string connectionString = WebConfigurationManager.
        ConnectionStrings["Catalog"].ConnectionString;
    SqlDependency.Start(connectionString);
}

但是,我的存储库不使用 global.asa,因为它只是一个库 (.dll) 而不是 Web 应用程序。

任何想法如何做到这一点?也许将 application_start 方法中的内容放入我的存储库的构造函数中?

4

1 回答 1

1

将该代码移动到构造函数中应该没问题。

我经常在任何需要显式初始化的东西上放置一个静态 Initialize() 方法。如果我的代码对于外部使用来说是卫生的,如果在使用 Initialize 方法之前调用了一个方法,我也会抛出我自己的 UninitializedException。

结果,我的 Global.asax 往往包含几个 blah.Initialize() 调用。

于 2008-10-24T14:34:06.810 回答