SemaphoreFullException при проверке роли пользователя через ASP.Членство в .NET

У меня есть страница, которая проверяет, выполняет ли пользователь определенную роль перед выполнением какой-либо задачи, и не имеет проблем с функциональностью и не вносит очевидных связанных изменений в рассматриваемый код. Сайт находится на моей машине разработки (Windows Vista), на которой запущен IIS 7.0, а база данных - MS SQL 2005 на отдельном сервере. Внезапно все вызовы User.IsInRole приводят к

System.Threading.SemaphoreFullException: добавление указанного счетчика к семафору приведет к превышению его максимального счетчика.

Я уверен. перезапуск IIS «решит» проблему, но я хотел бы понять, что вызвало ее, чтобы убедиться, что этого не произойдет на моем рабочем сайте.

Верхняя часть трассировки стека:

[SemaphoreFullException: добавление указанного числа в семафор может привести к превышению максимального числа.] System.Threading.Semaphore.Release (Int32 releaseCount) +6065293 System.Data.ProviderBase.DbConnectionPool.PutNewObject (DbConnectionInternal объект) +57 System.Data.ProviderBase.DbConnectionPool.DeactivateObject (DbConnectionInternal объект) +338 System.Data.ProviderBase.DbConnectionPool.PutObject (DbConnectionInternal объект, объект-владелец) +163 System.Data.ProviderBase.DbConnectionInternal.CloseConnection (DbConnection owningObject, DbConnectionFactory connectionFactory) +117 System.Data.SqlClient.SqlInternalConnection.CloseConnection (DbConnection owningObject, DbConnectionFactory connectionFactory) +37 System.Data.SqlClient.SqlConnection.Close () +158 System.Web.DataAccess.SqlConnectionHolder.Close () +25 System.Web.Security.SqlRoleProvider.GetRolesForUser (строковое имя пользователя) +847 System.Web.Security.RolePrincipal.IsInRole (Строковая роль) +182

36
задан Masoud 6 March 2016 в 03:46
поделиться