反序列化WCF json对象C#时出错

时间:2016-09-23 10:06:42

标签: c# json asp.net-mvc winforms wcf

我开发了一个应用程序(C#MVC web和C#Desktop应用程序),它使用WCF服务与数据库通信。

它目前在多个地点托管,并且工作正常。除了在一个位置,我在一个服务方法中遇到了JSON对象的反序列化问题,只有在通过桌面应用程序调用时才会出现问题。

  

获取反序列化时出错:“出现错误   反序列化类型的对象   System.Collections.Generic.List`1 [Namespace.ModelClassName,Namespace,   Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]。遇到   意外的字符':'。“

  • 反序列化当前使用的方法:

尝试

   var url = BaseServiceURL + "wsModel.svc/ ModelDynamicSearch " + "/" + ModelID.ToString() + "/" + SearchText.ToString() + "/" + SearchType.ToString();

            var request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "GET";

            var response = (HttpWebResponse)request.GetResponse();
            List<ModelName> lstVisitors = new List<ModelName>();

    var t = new DataContractJsonSerializer(typeof(List<ModelName>));

            using (var responseStream = response.GetResponseStream())
            {
                lstVisitors = (List<ModelName>)t.ReadObject(responseStream);
            }

捕捉

Error Getting

最后

  • 服务联系:

     [OperationContract]
    
     [WebGet(UriTemplate = "ModelDynamicSearch/{ModelID}/{SearchText}/{SearchType}", ResponseFormat = WebMessageFormat.Json)]
    
        List<ModelName> ModelDynamicSearch(string ModelID, string SearchText, string SearchType);
    

    模型定义:

    public class ModelName
    
    {
    
        [DataMember]
        public int ModelID { get; set; }
    
        [DataMember]
        public int ModelCompanyID { get; set; }
    
        [DataMember]
        public string ModelName { get; set; }
    }
    

0 个答案:

没有答案