接收对 http://192.168.1.18:8001/ObtainData/Service 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致。
[2015/8/5 19:28:49]
错误信息:接收对 http://192.168.1.18:8001/ObtainData/Service 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致。有关详细信息,请参见服务器日志。
异常类型:System.ServiceModel.CommunicationException
程序集:mscorlib
方法:Void HandleReturnMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessage)
跟踪栈信息:
Server stack trace:
在 System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason)
在 System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
在 System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
在 System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
在 System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
在 ZBMServiceContract.IObtainData.SelectProjectByUserName(String userName)
在 Client.ObtainDataClient.SelectProjectByUserName(String userName) 位置 d:\Colleague\BaiYongsheng\Server\Client\ObtainDataClient.cs:行号 41
在 Client.Program.ObtainData() 位置 d:\Colleague\BaiYongsheng\Server\Client\Program.cs:行号 61
在 Client.Program.Main(String[] args) 位置 d:\Colleague\BaiYongsheng\Server\Client\Program.cs:行号 27
[2015/8/5 19:28:49]
错误信息:基础连接已经关闭: 接收时发生错误。
异常类型:System.Net.WebException
程序集:System
方法:System.Net.WebResponse GetResponse()
跟踪栈信息:
在 System.Net.HttpWebRequest.GetResponse()
在 System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
[2015/8/5 19:28:49]
错误信息:无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。
异常类型:System.IO.IOException
程序集:System
方法:Int32 Read(Byte[], Int32, Int32)
跟踪栈信息:
在 System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
在 System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size)
在 System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead)
[2015/8/5 19:28:49]
错误信息:远程主机强迫关闭了一个现有的连接。
异常类型:System.Net.Sockets.SocketException
程序集:System
方法:Int32 Receive(Byte[], Int32, Int32, System.Net.Sockets.SocketFlags)
跟踪栈信息:
在 System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
在 System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
这个错误,排查了好久。
http://www.cnblogs.com/chucklu/p/4708177.html Service Trace Viewer Tool (SvcTraceViewer.exe)
最后发现是DataTable没有TableName导致的
无法序列化 DataTable。未设置 DataTable 名称。
public DataTable SelectProjectByUserName(string userName) { Console.WriteLine("客户端开始调用SelectProjectByUserName"); DataTable dataTable = new DataTable(); dataTable.TableName = "dataTable"; try { dataTable = DAOManager.Instance.SelectProjectByUserName(userName); } catch (Exception ex) { ExceptionLog.Instance.WriteLog(ex, LogType.UI); } Console.WriteLine("客户端结束调用SelectProjectByUserName"); return dataTable; }
这段代码把我坑了。
DAOManager.Instance.SelectProjectByUserName返回了一个全新的dataTable
导致之前的赋值完全白费力的。
代码修改如下,始终确保DataTable有名字
public DataTable SelectProjectByUserName(string userName) { DataTable dataTable = null; try { dataTable = DAOManager.Instance.SelectProjectByUserName(userName); } catch (Exception ex) { ExceptionLog.Instance.WriteLog(ex, LogType.UI); dataTable = new DataTable(); } dataTable.TableName = "DataTable"; return dataTable; }
这里希望函数返回值始终不为null。
有点多余了
相关文章
- STM32运行FreeRTOS出现prvTaskExitError错误死机
- JMeter中的HTTPS套接字错误
- xp_sendmail: 由于邮件错误 0x80004005 而失败
- linux常见错误解答汇总
- Yii2请求,报400错误
- 支付宝支付集成,上传RSA公钥一直显示格式错误
- SAP Fiori Launchpad 错误消息 - 400 File is not contained in a resource root
- Angular依赖注入机制的一个错误消息:Error Cannot instantiate cyclic dependency!
- System.ServiceModel.CommunicationException: 接收HTTP 响应时发生错误
- WCF 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。
- System.ServiceModel.CommunicationException: 接收HTTP 响应时发生错误
- 如何处理SAP HANA Web-Based Development Workbench的403 Forbidden错误
- 如何处理SAP Fiori Launchpad KPI tile点击后出现的错误消息
- TF版本升级问题集合:成功解决由于不同的TensorFlow版本之间某些函数的用法引起的错误
- WCF错误远程服务器返回了意外响应: (413) Request Entity Too Large。解决方案
- Springboot配置异常错误页
- jumpserver 常见错误解决
- MVC异常过滤器 (错误页)
- 内核错误: No rule to make target ‘debian/canonical-certs.pem‘, needed by ‘certs/x509_certificate_list‘
- ffmpeg花屏解决(修改源码,丢弃不完整帧和解码错误帧)
- Java初学者一定要注意的问题,这些错误你犯过哪些?永远不要停止学习。
- HTTP 响应行 错误类型响应码