System.DirectoryServices.DirectorySearcher导致“算术运算导致溢出”错误

时间:2016-09-17 07:37:09

标签: active-directory iis-8 windows-server-2012 application-pool

我们已将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()

1 个答案:

答案 0 :(得分:0)

似乎与此处描述的问题相同:

System.DirectoryServices.DirectorySearcher causing "Arithmetic operation resulted in overflow" errors

一种解决方案是更频繁地回收应用池。 另一个(如果您有权访问源代码)是使用System.DirectoryServices.Protocols命名空间(LdapConnection,SearchRequest等)中的基于LDAP的类替换DirectorySearcher.FindXXX方法