【发布时间】:2025-12-24 13:50:10
【问题描述】:
我有一个 ASP.NET 应用程序,它位于不时收到磁盘空间警告的服务器上。 显然,最简单的解决方案是在监管 I/O 活动不起作用时获得更多磁盘空间。但我不想编辑注册表来更改触发警告的值。但问题是我的 .NET 应用程序抛出磁盘空间警告消息。有没有办法告诉 .Net 应用程序忽略此错误并继续?
【问题讨论】:
-
是例外吗?或者 .Net 应用程序中的错误是什么意思?
我有一个 ASP.NET 应用程序,它位于不时收到磁盘空间警告的服务器上。 显然,最简单的解决方案是在监管 I/O 活动不起作用时获得更多磁盘空间。但我不想编辑注册表来更改触发警告的值。但问题是我的 .NET 应用程序抛出磁盘空间警告消息。有没有办法告诉 .Net 应用程序忽略此错误并继续?
【问题讨论】:
如果 .NET 抛出一个错误,表明您的磁盘空间不足,这不仅仅是一个警告。一些代码尝试写入磁盘并失败。
您需要找出导致使用过多磁盘空间的原因。优化代码以减少使用量,如果无法获得足够的磁盘空间,则优雅地处理这种情况,或者添加更多硬件。
【讨论】:
当您想忽略错误时,可以将调用包装在 try 块中,然后像这样吞下错误:
try
{
DoSomethingThatCausesAnError();
}
catch
{
//Swallow the exception
}
如果可能的话,你应该只接受特定的错误:
try
{
DoSomethingThatCausesAnError();
}
catch(System.IO.IOException exception)
{
//Swallow the exception
}
不幸的是,仅捕获“驱动器已满”错误有点棘手。您需要访问受保护的 HResult 成员。有关如何执行此操作的提示,请单击 here
附:这样做可能是一个非常糟糕的主意。您真的应该弄清楚为什么您的系统会报告磁盘已满错误并解决根本原因。
【讨论】: