0

我想生成一个测试程序来针对我们的客户租户执行,以验证我们可以处理我们新的 Microsoft 图形应用程序收集的所有数据。我的计划是使用序列化数据 XmlSerializer serializer = new XmlSerializer(typeof(List<T>));

它在我尝试的第一个实体 Microsoft.Graph.Domain 上失败(在这种情况下出现错误 Cannot serialize member Microsoft.Graph.Entity.AdditionalData of type ... because it is an interface.

对堆栈溢出的搜索发现了使用 XmlIgnore 装饰有问题的类属性的建议,因此 XmlSerializer 将忽略它,其他人建议实施新的 IXmlSerializer。一篇文章似乎建议对 XAML 使用序列化。

是否愿意以更好的方式收集可以导入单元测试的真实客户数据?作为开发人员,我无法直接访问客户帐户。

有没有人对如何序列化 Microsoft Graph 实体有其他建议。

4

1 回答 1

0

我用 Json 替换了我的 XmlSerializer。

public void SerializeObjectsToJson<T>(List<T> serializableObjects)
{
        var jsonStr = JsonConvert.SerializeObject(serializableObjects);
} 

public List<T> DeSerializeObjectsFromXml<T>()
{
        TextReader textReader = new StreamReader(fqpathname, Encoding.UTF8);
        var jsonStr = textReader.ReadToEnd();
        data = JsonConvert.DeserializeObject<List<T>>(jsonStr);
}

这一切似乎都适用于 Domain、User、SubscribedSkus、Organization 等。

于 2019-02-19T12:55:19.420 回答