超出maxReceivedMessageSize时会抛出哪个SPECIFIC异常?

时间:2014-12-17 10:39:31

标签: c# wcf exception soap ioexception

我有一个用于上传文件的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()条件。

因此,我首先想知道,如果我的方法是正确的,以捕获该特定的例外。其次,如果我的方法是错误的,那么正确的方法是什么?

编辑:在服务器端抛出异常(在我的服务方法中读取流),而不是在客户端 提前谢谢。

0 个答案:

没有答案