【发布时间】:2023-03-10 04:35:01
【问题描述】:
我目前正在构建一个 N 层应用程序,其中我有一个 WCF 服务(不是数据/RIA 服务)托管在我的 IIS 服务器上的一个 Web 项目上,以及一个带有指向此 WCF 服务的服务引用的 Windows Phone 客户端。
我的 WCF 服务通过实体框架访问数据库。
这是我的问题: 当我从客户端以外的任何地方更新我的数据库时,在任何客户端都看不到更新。 当我从特定客户端更新我的数据库时,只有他可以看到修改。
但一段时间后,所有客户端都可以访问更新的数据。
我认为这可能是由我的 WCF 数据的 IIS 缓存或 LINQ 级别的缓存引起的,但即使在禁用我的 IIS 缓存后问题仍然存在。
知道如何解决这个问题吗?
谢谢
【问题讨论】:
-
如何在 WCF 服务中处理 EF 上下文的生命周期?
-
上下文是在另一个类中创建的,它公开了一个关于客户端(WP7、android、web)的上下文字典。我试图在我的对象上使用上下文的“刷新”方法来重新加载调用数据,但它没有改变任何东西
-
很可能是框架正在缓存,而不是 iis。尝试在调用之间重新建立上下文,并确保您没有扩展工作单元或将上下文转换为单例模式。
-
确实,问题出在这里。谢谢
标签: c# .net wcf entity-framework caching