2011-05-12 106 views
0
public List<dynamic> GetDynamicResult() 
     { 
      List<dynamic> lstDynamic = new List<dynamic>(); 
      lstDynamic.Add(new { ID = "1", Name = "ABC" }); 
      lstDynamic.Add(new { ID = "1", Name = "XYZ" }); 
      return lstDynamic; 
     } 

返回动态列表当我返回列表从WCF的ASP.NET Web应用程序中使用 List<dynamic> lstDynamic = objClient.GetDynamicResult(); 到我得到这个错误:The underlying connection was closed: The connection was closed unexpectedly如何从WCF HTTP服务

回答

2

WCF需要定义一个DataContract(序列化使用)是通过电线发送的。使用动态类型与此冲突。您可以使用字符串组合(de)序列化。

+0

谢谢你的回复这将是很好,如果你能给我一个简单的例子 – Tuscan 2011-05-13 09:48:12

+0

开始更改公共字符串GetDynamicResult(){etc}的功能。之后,您可以将所有内容打包为XML,而不是字符串。在客户端,您可以将字符串解压缩为XML,而不是.NET对象。 [与此主题相关的非常好的链接](http://www.c-sharpcorner.com/UploadFile/chauhan_sonu57/SerializingObjects07202006065806AM/SerializingObjects.aspx) – 2011-05-13 19:37:59