【发布时间】:2019-08-20 16:02:50
【问题描述】:
当尝试从 HTTPResponseMessage 反序列化 GenericXMLSecurityToken 时,出现以下异常:
"无法创建类型的实例 System.IdentityModel.Tokens.SecurityKeyIdentifier 子句。类型是一个 接口或抽象类,不能实例化。小路 'internalTokenReference.assertionId',第 1 行,位置 162。”
在服务器上,序列化对象是使用
创建的new JsonResult(genericToken)
其中genericToken 是GenericXmlSecurityToken。在我使用的客户端
HttpResponseMessage response = await httpClient.PostAsync("https://localhost:44359/api/TokenService/RequestToken", requestcontent);
String responseString = await response.Content.ReadAsStringAsync();
GenericXMLSecurityToken result = JsonConvert.DeserializeObject<GenericXMLSecurityToken>(responseString);
但是,最后一行会引发上述文本的异常。我非常了解这个错误,因为我知道我无法实例化该类型,因为它是抽象的,是否有另一种方法可以序列化这种类型来解决这个问题,或者它只是不能序列化为 JSON?
【问题讨论】:
标签: c# asp.net-web-api asp.net-core json.net asp.net-core-mvc