我有一个Web服务,它将数据返回到桌面应用程序.我遇到的问题是,当Web服务返回少量数据时,一切都可以正常工作,但是当数据量很大时,会引发以下异常:
System.Net.WebException:底层连接已关闭:接收时发生意外错误.
当我调试Web服务时,我看到这个特定的方法被调用了两次.它执行返回语句第一次没有发生任何事情,但是当它第二次执行时,上述异常被抛出在桌面应用程序中.
我在stackoverflow之前找到类似的帖子,但是他们没有解决我的问题.有人可以告诉我这里发生了什么吗?
谢谢!
解决方法
这可能是因为邮件的大小大于默认邮件大小.您可以尝试在端点配置中使用
increasing the this value.你也可以看看
this post.
更新:
为了进一步诊断问题,我建议您通过在配置文件中放置以下内容来激活服务上的跟踪:
<system.diagnostics> <trace autoflush="true"> </trace> <sources> <source name="System.ServiceModel" switchValue="Information,ActivityTracing" propagateActivity="true"> <listeners> <add name="sdt" type="System.Diagnostics.XmlWriterTraceListener" initializeData="WcfDetailTrace.e2e" /> </listeners> </source> </sources> </system.diagnostics>
这将生成可以使用Service Trace Viewer Tool打开的WcfDetailTrace.e2e跟踪文件,该文件将为您提供有关呼叫和错误消息的大量信息.