我开发了一个应用程序(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; }
}