多台计算机从 VSTO 同时访问文件

问题描述 投票:0回答:1

我有大约 20 个在本地网络中使用 MS Word 中的 VSTO 插件的组件。

我必须将这台机器的一些统计数据写入一个 xml 文件,该文件对于放置在共享文件夹中的所有机器都是通用的。

如果我知道他们一定会尝试同时访问该文件,我该如何简单而正确地处理这个问题?

我知道,数据库/队列可能是最好的(我没有经验),但首先我在文件系统上寻找解决方案。

我也不想在等待文件被访问时停止工作(我也没有异步函数的经验)?

您有什么建议或 C# 代码片段吗?

c# visual-studio ms-word vsto
1个回答
0
投票

您可以使用一些日志库(如

NLog
),日志库可以正确处理同时文件写入访问。

如果你想自己做,可以在写入文件时使用try-catch策略。如果您在登录时遇到共享访问异常,只需稍后重试即可。

更好的是,您可以将统计数据放在它所属的位置,而不是 XML 文件。我的意思是,使用更合理的东西,例如 Azure App Insights - 您会自动获得不错的查看器和报告,全部免费。

© www.soinside.com 2019 - 2024. All rights reserved.