WCF尝试序列化参数时出错

时间:2013-12-01 07:43:28

标签: wcf entity-framework

尝试将数据绑定到gridview时出现以下错误。我还使用实体框架自动生成的实体。首先,错误显示是底层连接已关闭:使用wcf-traces进行调试时,连接意外关闭,我收到错误。这是我的代码。

错误功能

   Public Function GetProductList() Implements IProductService.GetProductList

            Dim Db As New BMEntities

            Dim data = From p In Db.SC_PRODUCT _
                       select p
            Return data
     End Function

可以绑定数据的工作

Public Function GetProductList() As IEnumerable(Of SC_PRODUCT) Implements IProductService.GetProductList

        Dim Db As New BMEntities

        Dim data = From p In Db.SC_PRODUCT _
                   select p
        Return data.AsEnumerable
 End Function

网站已

 Private Sub RadGrid1_NeedDataSource(sender As Object, e As GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource
        Dim ws As New ProductWS.ProductServiceClient

        Dim Data = ws.GetProductList
        RadGrid1.DataSource = Data
End Sub

任何人都请帮忙。感谢

2 个答案:

答案 0 :(得分:0)

听起来像是数据合同的问题。这个问题已经回答了。添加此链接中提到的KnownType属性 Why am I getting this WCF Error Message?

[DataContract]
[KnownType(typeof(string[]))]
public class YourClassNameHere
{
}

答案 1 :(得分:0)

您是否彻底检查了WCf跟踪日志?如果有一些类,字段属性未被序列化(没有DataMember / EnumMember)属性,从错误消息中可以看出,通常会发生此错误

请检查是否有任何要传递回客户端的枚举,并且它没有EnumMember属性