为了账号安全,请及时绑定邮箱和手机立即绑定

调用wcf 基础连接已经关闭: 连接被意外关闭。

调用wcf 基础连接已经关闭: 连接被意外关闭。

白猪掌柜的 2018-12-07 03:24:57
服务端的代码 var roles = from re in db.Roles   select re;                 return roles.ToList(); 调试的时候能进入服务端代码,并能查到正确数据返回,数据量才二条,返回的数据大小不会超过默认设置的大小的。 但是在客户端就会报出异常,调用wcf 基础连接已经关闭: 连接被意外关闭。 未处理 System.ServiceModel.CommunicationException  Message=基础连接已经关闭: 连接被意外关闭。  Source=mscorlib  StackTrace:    Server stack trace:        在 System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason)       在 System.ServiceModel.Channels.HttpChannelFactory.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)       在 Ship.PurviewWCFService.IPurviewService.GetAllRole()       在 Ship.PurviewWCFService.PurviewServiceClient.GetAllRole() 位置 D:\WorkSpace\Shipmvc\Ship\Ship\Service References\PurviewWCFService\Reference.cs:行号 780       在 Ship.Purview.PurivewMain.BindRole() 位置 D:\WorkSpace\Shipmvc\Ship\Ship\Purview\PurivewMain.cs:行号 381       在 Ship.Purview.PurivewMain.角色管理ToolStripMenuItem_Click(Object sender, EventArgs e) 位置 D:\WorkSpace\Shipmvc\Ship\Ship\Purview\PurivewMain.cs:行号 423       在 System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)       在 System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)       在 System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)       在 System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)       在 System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)       在 System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)       在 System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)       在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)       在 System.Windows.Forms.Control.WndProc(Message& m)       在 System.Windows.Forms.ScrollableControl.WndProc(Message& m)       在 System.Windows.Forms.ToolStrip.WndProc(Message& m)       在 System.Windows.Forms.MenuStrip.WndProc(Message& m)       在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)       在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)       在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)       在 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)       在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)       在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)       在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)       在 System.Windows.Forms.Application.Run(Form mainForm)       在 Ship.Program.Main() 位置 D:\WorkSpace\Shipmvc\Ship\Ship\Program.cs:行号 19       在 System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)       在 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)       在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()       在 System.Threading.ThreadHelper.ThreadStart_Context(Object state)       在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)       在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)       在 System.Threading.ThreadHelper.ThreadStart()  InnerException: System.Net.WebException       Message=基础连接已经关闭: 连接被意外关闭。       Source=System       StackTrace:            在 System.Net.HttpWebRequest.GetResponse()            在 System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)       InnerException:  请教园子里的兄弟,帮忙提示一下
查看完整描述

8 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

客户端和服务器的数据契约引用不一致  而客户端又没有自动生成数据契约  

查看完整回答
反对 回复 2019-01-21
?
侃侃无极

TA贡献2051条经验 获得超10个赞

帮你顶顶,怎么都木有人。。

查看完整回答
反对 回复 2019-01-21
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

谢谢!
查看完整回答
反对 回复 2019-01-21
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

是的,和序列化相关,你可以通过wcf诊断工具来查找关键错误信息,从服务器的跟踪信息中应该可以看到序列化失败的异常。

查看完整回答
反对 回复 2019-01-21
?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

db.ObjectTrackingEnabled = false;
就可以了。
查看完整回答
反对 回复 2019-01-21
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

哥们  你的这个问题解决没 

查看完整回答
反对 回复 2019-01-21
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

你看上面我的回复

查看完整回答
反对 回复 2019-01-21
  • 8 回答
  • 0 关注
  • 1440 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信