在收到HTTP响应时出现WCF服务错误

时间:2017-10-11 07:31:28

标签: c# .net wcf wcf-data-services

我在生产环境中收到回复时遇到错误。但同样的方法在测试环境中运行良好。

  

接收HTTP响应时发生错误   http://localhost:54544/Services/XXX.svc。这可能是由于   服务端点绑定不使用HTTP协议。这可以   也可能是由于服务器中止了HTTP请求上下文   (可能由于服务关闭)。请参阅服务器日志了解更多   的信息。

如果我在生产中使用测试数据库服务器,那么它运行完全正常

完整错误的堆栈跟踪

  

服务器堆栈跟踪:at   System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(引发WebException   webException,HttpWebRequest请求,HttpAbortReason abortReason)
  在   System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(时间跨度   超时)at   System.ServiceModel.Channels.RequestChannel.Request(消息消息,   TimeSpan超时)at   System.ServiceModel.Dispatcher.RequestChannelBinder.Request(消息   消息,TimeSpan超时)at   System.ServiceModel.Channels.ServiceChannel.Call(String action,   Boolean oneway,ProxyOperationRuntime操作,Object [] ins,   对象[]出局,TimeSpan超时)at   System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage   methodCall,ProxyOperationRuntime operation)at   System.ServiceModel.Channels.ServiceChannelProxy.Invoke(即时聊天   消息)

     

在[0]处重新抛出异常:at   System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(即时聊天   reqMsg,IMessage retMsg)at   System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&安培;   msgData,Int32类型)at   Common.Infrastructure.Impl.SubService.ISubscription.GetProductLicensesByUser(字符串   userId)at   Common.Infrastructure.Impl.X.Y.Z(字符串   userId)in   C:\用户\ XXX \源\回购\ XXX \ SRC \ Common.Infrastructure.Impl \服务   参考文献\ XXXX \ Reference.cs:第10303行   Common.Infrastructure.Impl.X.Y(字符串   userGuid)in   C:\用户\ XXXX \源\回购\ XXX \ XXXX \ Common.Infrastructure.Impl \ X.cs:线   1286年   Common.Infrastructure.Impl.X.Y(字符串   userGuid)in   C:\用户\ XXXX \源\回购\ XX \ XX \ Common.Infrastructure.Impl \ XX.cs:线   1274

1 个答案:

答案 0 :(得分:1)

通过检查WCF服务的日志来解决

问题是我有一个Enum,我在数据库中存储枚举值。现在该枚举的索引已被更改,因此当我从数据库获取值并再次将数据库值转换为枚举时,它会给我一个错误。在测试环境中,所有数据库值都在Enum中映射,这就是为什么在测试环境中它不会在获取记录时引发错误。