我正在使用WCF服务,该服务具有两个功能,GetAllProducts()
返回所有产品,GetProductById(int id)
返回一个产品。
GetAllProducts()
返回所有数据,而GetProductById()
不返回任何数据并产生此错误。
由于GetAllProducts()
正在返回数据,因此WCF服务通信本身应该没有任何问题。有谁知道吗?
错误:
收到对http://XX.XXX:92/的HTTP响应时发生错误。这可能是由于服务端点绑定未使用HTTP协议。这也可能是由于服务器终止了HTTP请求上下文(可能是由于服务关闭了)。有关更多详细信息,请参阅服务器日志。
服务器堆栈跟踪: 在System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException,HttpWebRequest请求,HttpAbortReason abortReason) 在System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan超时)处 在System.ServiceModel.Channels.RequestChannel.Request(消息,TimeSpan超时) 在System.ServiceModel.Dispatcher.RequestChannelBinder.Request(消息,TimeSpan超时) 在System.ServiceModel.Channels.ServiceChannel.Call处(字符串操作,布尔单向,ProxyOperationRuntime操作,Object [] ins,Object [] outs,TimeSpan超时) 在System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime操作) 在System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage消息)处
异常重新抛出为[0]: 在System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) 在System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&msgData,Int32类型) 在IData.GetProductById(Int32 ProductId) 在DataClient.GetProductById(Int32 ProductId)
内部异常: 基础连接已关闭:接收时发生意外错误。 在System.Net.HttpWebRequest.GetResponse() 在System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)处
内部异常: 无法从传输连接中读取数据:远程主机强行关闭了现有连接。 在System.Net.Sockets.NetworkStream.Read(Byte []缓冲区,Int32偏移量,Int32大小) 在System.Net.PooledStream.Read(Byte []缓冲区,Int32偏移量,Int32大小) 在System.Net.Connection.SyncRead(HttpWebRequest请求,布尔userRetrievedStream,布尔probeRead)处
内部异常: 远程主机强行关闭了现有连接 在System.Net.Sockets.Socket.Receive(Byte []缓冲区,Int32偏移量,Int32大小,SocketFlags socketFlags) 在System.Net.Sockets.NetworkStream.Read(字节[]缓冲区,Int32偏移量,Int32大小)