我使用以下代码调用 Web 方法并获取一些信息。为了稍微整理一下并获得一些代码重用,我介绍了 InvokeWebMethod 例程。
private T InvokeWebMethod<T>(webServiceDelegate d)
{
return (T)base.invokeWebMethod(d);
}
internal XmlElement GetInfo(string url)
{
return this.InvokeWebMethod<XmlElement>(() => { return this.myService.GetInfo(url); });
}
如果服务器上不存在 Web 方法,则在委托内引发 404 异常。我不明白的一点是 Lambda 函数忽略了 404 异常,而是引发了 XmlElement Cast 异常。
任何人都可以向我解释为什么 404 异常在处理之前没有提升到堆栈中?
谢谢