我有一个 ASP.NET 页面,其中包含一个Gridview
.
我正在尝试将IDataReader
对象绑定到网格。这个IDataReader
对象是通过调用更多的代码层(实际上是形成控制器层和数据库层的其他 .ent 项目 dll)来分配的,然后最终绑定到我的网格。
在gridview1.Datasource = dr
(博士是我的 IDataReader),我没有看到任何问题。
但是在 gridview1.Databind 行我得到一个异常,异常对象中的详细信息如下:
{“在程序集 'System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 中键入 'System.Data.Common.DbEnumerator' 未标记为可序列化。”}
我不确定应用程序中出了什么问题。有什么想法或意见吗?
编辑 1
添加堆栈跟踪异常:
服务器堆栈跟踪: 在 System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType 类型) 在 System.Runtime.Serialization.FormatterServices.GetSerializableMembers(类型类型,StreamingContext 上下文) 在 System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo() 在 System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(对象 obj,ISurrogateSelector surrogateSelector,StreamingContext 上下文,SerObjectInfoInit serObjectInfoInit,IFormatterConverter 转换器,ObjectWriter objectWriter) 在 System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(对象 obj,ISurrogateSelector surrogateSelector,StreamingContext 上下文,SerObjectInfoInit serObjectInfoInit,IFormatterConverter 转换器,ObjectWriter objectWriter) 在 System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(对象图,Header[] inHeaders,__BinaryWriter serWriter,布尔 fCheck) 在 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(流序列化流,对象图,标头 [] 标头,布尔 fCheck) 在 System.Runtime.Remoting.Channels.CoreChannel.SerializeBinaryMessage(IMessage 消息,流输出流,布尔包含版本) 在 System.Runtime.Remoting.Channels.BinaryServerFormatterSink.SerializeResponse(IServerResponseChannelSinkStack sinkStack,IMessage 消息,ITransportHeaders& 标头,Stream& 流) 在 System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack,IMessage requestMsg,ITransportHeaders requestHeaders,流 requestStream,IMessage& responseMsg,ITransportHeaders& responseHeaders,Stream& responseStream) 在 [0] 处重新抛出异常: 在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) 在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 类型) 在 System.Collections.IEnumerable.GetEnumerator() 在 System.Collections.IEnumerable.GetEnumerator() 在 System.Web.UI.WebControls.GridView.CreateChildControls(IEnumerable 数据源,布尔数据绑定) 在 System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable 数据) 在 System.Web.UI.WebControls.GridView.PerformDataBinding(IEnumerable 数据) 在 System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable 数据) 在 System.Web.UI.DataSourceView.Select(DataSourceSelectArguments 参数,DataSourceViewSelectCallback 回调) 在 System.Web.UI.WebControls.DataBoundControl.PerformSelect() 在 System.Web.UI.WebControls.BaseDataBoundControl.DataBind() 在 System.Web.UI.WebControls.GridView.DataBind() 在 Drive.CampaignManager.CreateQuery.GridViewBind() 在 Mycode.aspx.cs
从上面的堆栈跟踪中无法理解太多。