【发布时间】:2010-11-17 11:01:32
【问题描述】:
我正在为我的整个应用程序使用单个全局 DataContext 对象。应用程序应在其多个实例与共享 SQL 数据库同时工作的网络环境中工作。
在我调用 DataContext.Refresh 方法之前,一个应用程序中的数据库更改不会反映在其他实例中。问题是这个函数很耗时,我无法将代码改回使用不同的数据上下文对象进行不同的操作。
我应该怎么做才能始终保持每个应用程序中的 datacontext 对象更新?
【问题讨论】:
-
这是什么类型的应用程序? web/wpf/winforms(或全部?)。无论哪种方式,全球 DC 都是一件疯狂的事情。
-
最可怕的说法是“应用程序应该在网络环境中工作”。是的,祝你好运。愿上帝怜悯你的灵魂。
-
@RPM1984:一个 Web 应用程序和几个 Windows 应用程序。
-
大声笑,感谢大家的支持。看来我必须经历一些漫长的重新编码和调试。
-
呵呵,好吧,我不知道如何在这里帮助你——因为我从来没有实现过这个场景。我的数据库连接一直要么包装在 using 语句中(延迟打开,提前关闭),要么通过 DI 容器根据 HTTP 请求进行实例化。执行这种“类似单例”的方法会导致巨大的锁定。
标签: c# linq linq-to-sql