【发布时间】:2014-05-23 18:43:10
【问题描述】:
我从 Web 服务调用以下方法 - 我不断收到一条错误消息“无法序列化,因为它没有无参数构造函数。”
[WebMethod]
public ArrayList GetPayers()
{
string PROVIDER_JSON = "";
ArrayList list = new ArrayList();
using (var webClient = new System.Net.WebClient())
{
PROVIDER_JSON = webClient.DownloadString("https://www.eligibleapi.com/resources/information-sources.json");
List<EligibleProviderType2> UserList = JsonConvert.DeserializeObject<List<EligibleProviderType2>>(PROVIDER_JSON);
for (int i = 0; i < UserList.Count; i++)
{
foreach (string inventoryItem in UserList[i].PayerName)
{
list.Add(new
{
PayerID = UserList[i].PayerID,
PayerName = inventoryItem
});
}
}
return list;
}
}
哪个调用这个类 - 我认为它有一个无参数的构造函数?
[JsonObject(MemberSerialization.OptIn)]
public class EligibleProviderType2
{
EligibleProviderType2(){}
[JsonProperty(PropertyName = "payer_id")]
public string PayerID { get; set; }
[JsonProperty(PropertyName = "names")]
public IList<string> PayerName { get; set; }
} // EligibleProvider
【问题讨论】:
-
ASMX 是一项遗留技术,不应用于新开发。 WCF 或 ASP.NET Web API 应用于 Web 服务客户端和服务器的所有新开发。一个提示:微软已经在 MSDN 上停用了ASMX Forum。
标签: c# asp.net web-services asmx