◆100分◆调用WCF方法时,返回远程主机强迫关闭了一个现有的连接。

look4u 2012-08-08 03:12:22
添加引用都没有问题,接口的方法也都能找到,就是一调用就完了,不知道是不是服务器端的哪个地方的配置问题,谢谢大家!

远程主机强迫关闭了一个现有的连接。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接。

源错误:


行 185:
行 186: public WCFClinet.ServiceReference1.ResultList GetJournalArticlesJson(string lan, string pageSize, string pageIndex, string journalId, string yearAndPeriod, string callback) {
行 187: return base.Channel.GetJournalArticlesJson(lan, pageSize, pageIndex, journalId, yearAndPeriod, callback);
行 188: }
行 189:


源文件: E:\code\wcf_learn\wcf_ClientTest\WCFClinet\WCFClinet\Service References\ServiceReference1\Reference.cs 行: 187

堆栈跟踪:


[SocketException (0x2746): 远程主机强迫关闭了一个现有的连接。]
System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) +73
System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) +131

[IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。]
System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) +294
System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size) +26
System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead) +297

[WebException: 基础连接已经关闭: 接收时发生错误。]
System.Net.HttpWebRequest.GetResponse() +5392301
System.ServiceModel.Channels.HttpChannelRequest.WaitForReply(TimeSpan timeout) +57

[CommunicationException: 接收对 http://www.******.cn/dh/services/NavigationAPI.svc/Navigation 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致。有关详细信息,请参阅服务器日志。]
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) +7601039
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) +275
WCFClinet.ServiceReference1.ILibraryNavigation.GetJournalArticlesJson(String lan, String pageSize, String pageIndex, String journalId, String yearAndPeriod, String callback) +0
WCFClinet.ServiceReference1.LibraryNavigationClient.GetJournalArticlesJson(String lan, String pageSize, String pageIndex, String journalId, String yearAndPeriod, String callback) in E:\code\wcf_learn\wcf_ClientTest\WCFClinet\WCFClinet\Service References\ServiceReference1\Reference.cs:187
WCFClinet._Default.Page_Load(Object sender, EventArgs e) in E:\code\wcf_learn\wcf_ClientTest\WCFClinet\WCFClinet\Default.aspx.cs:16
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627


...全文
887 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2012-08-09
  • 打赏
  • 举报
回复
检查数据实体类是否存在存在循环引用,如
http://social.msdn.microsoft.com/Forums/zh-CN/wcfzhchs/thread/e75d037e-969c-4268-8639-6f7599c35ef3/

另外注意
客户端、服务器关闭防火墙和代理

另外可以参考下
http://biancheng.dnbcw.info/1000wen/400419.html
look4u 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

直接在浏览器上可以浏览到么

把config里面的wcf配置删除
然后更新一下服务引用
[/Quote]
直接在浏览器上可以浏览到XML,没有问题,我已经新建了一个项目重新引用了,还是不行,用WcfClientTest测试也是一样。。。。。。
moonwrite 2012-08-08
  • 打赏
  • 举报
回复
直接在浏览器上可以浏览到么

把config里面的wcf配置删除
然后更新一下服务引用

look4u 2012-08-08
  • 打赏
  • 举报
回复
我从网上查了一下,问题的我这个方法返回的数据很小,就一串字符,关键是所有的方法都报这个错误,肯定是配置什么地方出了问题。
moonwrite 2012-08-08
  • 打赏
  • 举报
回复
google
wcf 远程主机强迫关闭了一个现有的连接

通常是传输数据太大
或者超时
.....
look4u 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

断点 F11 到异常处 看看详细的异常信息
[/Quote]
以上就是详细的异常信息了,服务器端目前还没办法跟踪,是在别的服务器上
moonwrite 2012-08-08
  • 打赏
  • 举报
回复
断点 F11 到异常处 看看详细的异常信息

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧