【发布时间】:2011-07-26 02:20:12
【问题描述】:
我正在使用使用 Visual Studio 创建的 WCF 服务。
我正在调用 GetDataAsync(param) 来检索数据。在 GetDataCompleted 处理程序中,我正在使用检索到的数据。
服务有效。有时我无法检索数据。在这种情况下,发生了如下异常:
Exception in async operation: System.Net.ProtocolViolationException: The number of bytes to be written is greater than the specified ContentLength.
at System.Net.WebConnectionStream.CheckWriteOverflow (Int64 contentLength, Int64 totalWritten, Int64 size) [0x00038] in /Developer/MonoTouch/Source/mono/mcs/class/System/System.Net/WebConnectionStream.cs:546
如何捕捉到类似的异常?应用程序仍在工作,但在控制台打印异常。我认为异常来自 Channel 或其他。
提前谢谢你。
【问题讨论】:
-
嘿,你知道了吗?我在单声道框架上有一个等效的问题,其中 HttpWebRequest、WebRequest 和 WebClient 类在 Apache 上使用 mod_mono 运行。仅当 http 请求具有正文时才会出现此问题(如果正文为空且 contentlength 为 0,则不会出现此问题)。服务器重启后第一次请求总是成功的,但是后面的所有请求都不成功,返回你描述的错误。如果您有任何信息,请提供帮助:-) Br。莫腾
-
正在使用什么版本的 MonoTouch?上述消息 “异步操作中的异常” 只能在 MOONLIGHT 配置文件中找到,因此它不应在 控制台 上打印任何内容。
标签: wcf exception-handling asynchronous mono xamarin.ios