我有一个用于上传文件的WCF Web服务。 在我的web.config文件中,我将maxReceivedMessageSize属性设置为特定值。现在,每当客户端上传大于指定大小的文件时,我都想进行特定的处理。
我所看到的是,在读取流时抛出异常(当流读取的字节大于设定值时,抛出异常)。异常类是IOException。
为了识别这个特定的异常,我编写了这样的代码:
catch(System.IO.IOException commEx)
{
if(commEx.InnerException.HResult.Equals(-2146233087))
{
//Handling specific to the maxReceivedMessageSize exception
}
else
{
//Handling specific to other IO Exceptions
}
}
但问题是发生了一些其他情况(截至目前我还不知道),因为抛出了IOException并且代码进入了相同的if()条件。
因此,我首先想知道,如果我的方法是正确的,以捕获该特定的例外。其次,如果我的方法是错误的,那么正确的方法是什么?
编辑:在服务器端抛出异常(在我的服务方法中读取流),而不是在客户端 提前谢谢。