.net 中有关 system.io 的错误
Posted
技术标签:
【中文标题】.net 中有关 system.io 的错误【英文标题】:Error regarding system.io in .net 【发布时间】:2017-02-14 10:54:06 【问题描述】:我的 .net 服务应用程序启动时偶尔会崩溃。在 Windows 事件查看器中进行调查后,我会收到以下消息:
应用程序:myapp.exe 框架版本:v4.0.30319 说明:进程因未处理的异常而终止。 异常信息:System.IO.IOException 在 System.IO.__Error.WinIOError(Int32, System.String) 在 System.IO.__Error.WinIOError() 在 System.Threading.EventWaitHandle.Set() 在 System.IO.FileStreamAsyncResult.AsyncFSCallback(UInt32,UInt32, System.Threading.NativeOverlapped*) 在 System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
从错误消息中,我不确定我的源代码的哪一部分给了我这个错误。你们知道这是什么错误吗?
是不是因为我没有在我的某些代码上放置 try/catch 块,所以它会出现此错误并导致我的应用程序崩溃?
【问题讨论】:
请不要关闭我的话题。我真的不知道错误是什么意思...请帮助。 请发布您的代码。它基本上只是听起来像有一个错误,你没有处理它,所以它强迫自己关闭。 我只有模糊的信息给你。是的,未处理的异常是由于您没有捕获和处理的异常。至于您的实际异常,堆栈跟踪似乎没有指向您的任何代码,我不知道如何解决这个问题。有很多原因可能会引发 IO 异常。您的程序显然将FileStream
附加到文件中,如此处System.IO.FileStreamAsyncResult.AsyncFSCallback
所示,例如,如果另一个程序或线程获得了对该文件的锁定,那么当您的文件流与之交互时,您将获得 IO 异常.
KSib,我不认为可以发布代码.. 我的应用程序有接近 50 个 .cs 文件,我不确定是哪个导致此错误..
Quantic,你的意思是因为用户控制问题我写文件有问题?实际上我尝试以管理员身份运行我的应用程序,但仍然出现错误
【参考方案1】:
当发生 I/O 错误时将抛出此异常。当进程无法正确读取或写入时。可能是因为你的线程,无法正确完成。
“是不是因为我没有在我的一些代码上放置 try/catch 块,所以它会出现这个错误并导致我的应用程序崩溃?” -> 是的,您会看到错误,因为您没有使用任何 try/catch 块。
【讨论】:
是因为用户控制问题吗?实际上我尝试以管理员身份运行我的应用程序,但仍然出现错误 它不属于用户控件,因为如果是,则异常是Access Violation异常。我认为您的 Async 方法有问题。 什么是异步方法?是不是就像 Quantic 所说的那样,有两个线程要写入同一个文件? 异步方法是在另一个线程上运行以赋予应用程序责任的函数(Void)。它将用于并行进程。你用的是什么代码?那你在做什么?你在写文件吗?还是读书? 我的编码有数百个写文件和读文件功能。真的不知道是哪一个导致了这个错误。无论如何要识别它?以上是关于.net 中有关 system.io 的错误的主要内容,如果未能解决你的问题,请参考以下文章
ASPP.NET CORE WEBAPI:文件上传错误:System.IO.InvalidDataException:超过多部分正文长度限制 16384
构建 Asp.Net Core 项目时出现 System.IO.PathTooLongException
.Net Core 2.1 System.IO.FileSystem.DriveInfo
.NET 升级发布后,IIS出现了System.IO.DirectoryNotFoundException