我们已将asp.net应用程序从.net framework 3.5,iis 7.0,Windows server 2008 R2迁移到.net framework 3.5,iis 8.5,Windows server 2012。 AD无法正常工作。一旦应用程序池回收,应用程序工作一段时间后就无法正常工作。
我收到以下与使用DirectorySearcher.FindOne()或FindAll()查询AD相关的间歇性错误。
System.DirectoryServices.DirectorySearcher导致“算术运算导致溢出”错误
System.OverflowException:算术运算导致溢出。 在System.DirectoryServices.SearchResultCollection.ResultsEnumerator.GetCurrentResult() 在System.DirectoryServices.SearchResultCollection.ResultsEnumerator.get_Current() 在System.DirectoryServices.SearchResultCollection.ResultsEnumerator.System.Collections.IEnumerator.get_Current()
答案 0 :(得分:0)
似乎与此处描述的问题相同:
一种解决方案是更频繁地回收应用池。 另一个(如果您有权访问源代码)是使用System.DirectoryServices.Protocols命名空间(LdapConnection,SearchRequest等)中的基于LDAP的类替换DirectorySearcher.FindXXX方法