首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何查看插入的“非生态”对象

如何查看插入的“非生态”对象
EN

Stack Overflow用户
提问于 2022-03-24 10:14:58
回答 2查看 33关注 0票数 0

我们仍然在使用VS 2008的ECO5。“非eco”应用程序使用与我们的eco应用程序相同的数据库,并插入数据。除非我们重新启动这个应用程序,否则无法在生态应用程序中看到插入的数据(对象)。没有必要重新启动持久性服务器,我假设我们正确地插入了数据(尊重插入到ECOModelRoot并递增ECO_ID),因为生态应用程序在重启后正确地显示了它们。

我们尝试将ecospace.active设置为false,然后将其设置为true,并将ecospace.persistence.refresh(true)设置为true。插入的数据仍未显示,尽管在之前关闭了有关查询并在之后打开。

我们如何使生态应用程序看到“非生态”插入的对象?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-25 06:32:07

当您正确插入数据时,您的场景与两个独立的ECO应用程序正在写入同一个数据库的场景相同。

因此,为了能够回答您的问题,我们需要更多地了解您的应用程序体系结构,因为通常通过将活动设置为false来关闭ecospace就足够了。某些类型的闲聊仍在发生。

  • --您是使用带数据库持久性的EcoSpace还是使用持久性服务器?在这种情况下,服务器需要重新启动。

  • ,您尝试过用单独的生态应用程序插入数据吗?您是否经历过同样的行为?
  • 您可以尝试实例化一个新的EcoSpace对象,而不是将EcoSpace设置为不活动。
  • ,您可以将SQL日志转换为true,这样就可以查看哪些SQL是针对数据库激发的。

也有一些方法可以使特定对象或类的EcoSpace缓存失效,但是您必须首先找出您的问题所在。

票数 1
EN

Stack Overflow用户

发布于 2022-03-26 18:04:54

如果从“第三方应用程序”插入或更新对象,则可以使用selfVM.SuspectExternalUpdateInvalidate(listOfObjectsYouSuspect).

这样做将通知SyncServer (您在MDrivenServer中有一个同步服务器),该行需要被所有缓存该行的客户端完全重新读取。

客户端在执行下一次刷新时将获得此信息(可通过selfVM.Refresh和作为框架操作获得)。如果您使用MDrivenServer,客户端将通过推送通知得到通知,并快速更新其UI。

若要阅读更多内容并获得有关如何使用此功能的完整示例,请参见https://wiki.mdriven.net/index.php/SQL_Server_change_tracking

如果您使用MS,wiki中也有关于如何有效地自动跟踪表更改和刷新这些更改的示例。

注意!从2018年6月起,您需要一个框架才能获得此功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71600566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档