我能够在本地获取Azure AD应用程序,但是当作为应用程序服务托管在Azure中并确保Web.config值正确时,它就会中断。它已经工作了很长时间,并且无缘无故失败了。由于对象为null,因此在强制转换时发生了异常。因此,不知道为什么GetObjectsByObjectIdsAsync中不返回对象的原因。
ActiveDirectoryClient client = ADAuthenticationHelper.GetActiveDirectoryClient();
//User
var userobjects = await client.GetObjectsByObjectIdsAsync(new string[] { "xxxxxxxx" }, new string[] { "user" });
List<Microsoft.Azure.ActiveDirectory.GraphClient.User> users = userobjects.OfType(Microsoft.Azure.ActiveDirectory.GraphClient.User)().ToList();
//Application
var applicationObjects = await client.GetObjectsByObjectIdsAsync(new string[] { "xxxxxxxx" }, new string[] { "application" });
List<Microsoft.Azure.ActiveDirectory.GraphClient.Application> applications = applicationObjects.OfType(Microsoft.Azure.ActiveDirectory.GraphClient.Application)().ToList();
图书馆:
依赖项
1)Microsoft.Data.Edm = 5.6.4
2)Microsoft.Data.OData = 5.6.4
3)Microsoft.Data.Services.Client = 5.6.4
4)System.Spatial = 5.6.4
然后通过将以上依赖项从5.6.4升级到5.8.4,然后能够获取应用程序对象,但用户获取在Azure应用服务中失败的方式解决了此问题。
注意:5.6.4和5.8.4均在本地工作(应用程序和用户获取工作),并且仅在应用程序服务(Azure)中发生异常。
需要帮助并纠正我的错误。
请告知我是否需要其他详细信息。