我继承了一个ASP.NET MVC应用程序,该程序花费20秒到一分钟的时间才能显示每个页面。大部分时间都花在ActiveDirectoryClient
中。看来原始作者可能已阅读this Q&A有关如何检查组成员身份的信息。
在美好的一天,致电ActiveDirectoryClient.Users.Where(...).ExecuteAsync()
花费3-10秒。呼叫IUserFetcher.MemberOf.ExecuteAsync()
又需要5到7秒。基本上,每次使用ActiveDirectoryClient
都需要花费几秒钟的时间,而且其中有很多。
我尝试使用ActiveDirectoryClient.IsMemberOfAsync(...)
,但这仅消耗1.5 GB的RAM,并且永不返回。 (“永不”是指我等了五分钟才停止调试器。)
我怀疑问题不是这些代码位造成的,而是Azure或图形客户端的某些整体错误配置。因此,也许这个问题甚至不在正确的网站上。我从哪里开始排除故障?