小编Sta*_*ing的帖子

通过ASP.NET成员资格检查用户角色时的SemaphoreFullException

我有一个页面,在执行某项任务之前检查用户是否处于特定角色,并且对功能没有任何问题,并且没有对相关代码进行明显的相关更改.该站点位于运行IIS 7.0的开发计算机(Windows Vista)上,数据库位于单独的服务器上,是MS SQL 2005.突然间,所有的呼叫都会User.IsInRole导致

System.Threading.SemaphoreFullException:将指定的计数添加到信号量将导致它超过其最大计数.

我确信重新启动IIS会"解决"这个问题,但我想了解导致它的原因,以便我可以确保它不会发生在我的生产网站上.

堆栈跟踪的顶部是:

[SemaphoreFullException:将指定的计数添加到信号量将导致它超过其最大计数.] System.Threading.Semaphore.Release(Int32 releaseCount)+6065293 System.Data.ProviderBase.DbConnectionPool.PutNewObject(DbConnectionInternal obj)+57 System. Data.ProviderBase.DbConnectionPool.DeactivateObject(DbConnectionInternal obj)+338 System.Data.ProviderBase.DbConnectionPool.PutObject(DbConnectionInternal obj,Object owningObject)+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(String username)+847 System.Web.Security.RolePrincipal.IsInRole(String role)+182

membership asp.net semaphore exception

36
推荐指数
6
解决办法
3万
查看次数

标签 统计

asp.net ×1

exception ×1

membership ×1

semaphore ×1