C# 避免多个请求进来导致同一个文件夹意外创建多次

3个请求同时进来以至于同一个文件夹被意外创建了2此,这个应该如何避免呀

C# 避免多个请求进来导致同一个文件夹意外创建多次

 

解决方法:

队列。锁。

不同请求之间没有同一个上下文,无法锁约束

可以使用对象锁

注册个singleton服务,或者用个static object

注册个单例服务,里面用锁或者信号量或者原子

多进程的就分布式锁

IHttpContextAccessor是在从Http请求发起的Scope,需要注入HttpContext时使用的

直接在FileService里加一个static object(),创建文件夹前lock然后检查文件夹是否存在

C# 避免多个请求进来导致同一个文件夹意外创建多次