当我尝试访问我的 Web API 2 应用程序的帮助区域时,在尝试从 Azure AD Graph API 反序列化组时,HelpPageSampleGenerator 在下面引用的代码最后一行的 WriteSampleObjectsUsingFormatter 方法中引发异常:
object sample = String.Empty;
MemoryStream ms = null;
HttpContent content = null;
try
{
if (formatter.CanWriteType(type))
{
ms = new MemoryStream();
content = new ObjectContent(type, value, formatter, mediaType);
formatter.WriteToStreamAsync(type, value, ms, content, null).Wait();
其他类(包括具有嵌套类的类)可以很好地反序列化。我挖掘了组的默认对象(方法调用中的“值”),我确实看到了:
Microsoft.Azure.ActiveDirectory.GraphClient.IGroupFetcher.AppRoleAssignments = '((Microsoft.Azure.ActiveDirectory.GraphClient.Group)(value)).Microsoft.Azure.ActiveDirectory.GraphClient.IGroupFetcher.AppRoleAssignments' threw an exception of type 'System.NullReferenceException'
由于这都是微软的代码,我不认为这是我在做的任何事情。如果我不需要,我真的宁愿不必编写自己的类来解析到 Graph API,但如果没有其他解决方法,我会这样做。
谢谢!