发生COMException:ErrorCode = -2147287036
我必须并行化一个应用程序;这个应用程序必须处理一个文件,我使用任务,每个线程正在处理一行数据(以前用于逐行处理行)。问题是数据提供程序使用某种缓存,并且它在进程中多次访问该文件,因此使用一个数据提供程序是一项艰难的工作,使其成为线程安全的,而不是我每次都在新的数据提供程序上创建线程正在处理一条线。它适用于前几次运行,但过了一段时间后,用于访问该文件的COM对象开始抛出以下错误:
发生COMException:ErrorCode = -2147287036
我检查“2147287036”是“没有足够的资源打开另一个文件”的错误代码。我确定我正在为数据提供者/ COM对象调用close / dispose,所以我很难理解为什么我无法访问该文件(我有一个异常处理逻辑,试图在写入时打开文件模式,如果不成功,它会尝试在读取模式下打开它,如果不成功则抛出异常,这基本上就是上面提到的异常。
我的第一个线索是COM对象不会立即释放文件句柄。但这仍然没那么有意义。
没有找到相关结果
已邀请:
2 个回复
哭木算
肉脓措伪