我在生产环境中收到回复时遇到错误。但同样的方法在测试环境中运行良好。
接收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
答案 0 :(得分:1)
通过检查WCF服务的日志来解决
问题是我有一个Enum,我在数据库中存储枚举值。现在该枚举的索引已被更改,因此当我从数据库获取值并再次将数据库值转换为枚举时,它会给我一个错误。在测试环境中,所有数据库值都在Enum中映射,这就是为什么在测试环境中它不会在获取记录时引发错误。