Foxtable(狐表)用户栏目专家坐堂 → [求助]服务器和客户端同步配置文件


  共有3351人关注过本帖树形打印复制链接

主题:[求助]服务器和客户端同步配置文件

帅哥哟,离线,有人找我吗?
chnfo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2240 积分:18457 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]服务器和客户端同步配置文件  发帖心情 Post By:2021/3/14 20:14:00 [只看该作者]

局域网共享访问目录X$

现在服务端定时(例如每5分钟)往X$\XYZ.txt中写入服务器时间date.now
然后客户端读取共享目录下的服务器时间文件X$\XYZ.txt

在多用户访问且极端情况下,可能会出现服务端用WriteAllText正在写共享文件的时候,客户端正在访问这个文件。
有时候客户端出现一个提示:这个文件正在被进程使用。

我现在是用本机同时作为服务端和客户端,这个是服务端写和客户端读同时并发导致的吗?
如果是这个原因,怎么避免?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/14 21:14:00 [只看该作者]

试试:https://docs.microsoft.com/zh-cn/dotnet/api/system.threading.readerwriterlockslim?view=net-5.0

https://blog.csdn.net/nodeman/article/details/88118723

服务端写
Dim LogWriteLock As new System.Threading.ReaderWriterLockSlim()
LogWriteLock.EnterWriteLock()
try
    '写入文件的代码
finally
    LogWriteLock.ExitWriteLock()
End try

客户端读
Dim LogWriteLock As new System.Threading.ReaderWriterLockSlim()
LogWriteLock.EnterReadLock()
try
    '读取文件的代码
finally
    LogWriteLock.ExitReadLock()
End try

 回到顶部