问:我想知道Everything SDK是否提供了一种在内部数据库更新时得到通知的方法吗?尤其是我想拥有一个C#事件,每次数据库更新时它可以做一些工作。
是否已经可能,或者您可以添加的功能?
答:当前,更新数据库时没有回调。
我确实为Everything 1.4实施了此操作,但是由于性能不佳而将其禁用。
我将探索Everything 1.5的插件,该插件可用于接收更新通知。
问:我想我可以通过在everything.db上创建文件监视程序以检测任何更改来找到此功能的解决方法。
但是可悲的是(可能出于性能原因)仅在退出客户端时才保存文件。
您对我如何在此轨道上前进有任何想法吗?
今天,要检测任何新文件/修改过的文件,我每分钟执行一次相同的查询,仅更改修改日期标准。它正在工作,但是我不喜欢计时器…
SDK的一个可能很方便的功能是获得通往当前使用的数据库的路径。
答:目前没有
如您所知,Everything.db仅在退出Everything时才保存到磁盘。
我将考虑通过SDK调用来获取数据库位置。
还请考虑用户可能没有Everything.db(例如-no-db)。
感谢您的建议。
Everything 1.5 alpha版本还有更多工作要做。
我希望在alpha / beta阶段更新SDK。
我将为Everything 1.5 SDK更新寻找一些东西:
可以由事件(例如与过滤器匹配的文件被修改)触发并执行操作(例如运行bat文件)的“自定义任务”
支持直接访问数据库更改的插件。
IPC搜索观察者在搜索结果更改时触发。