SemaphoreFullException error in SQLHelper class within a WCF service


John Dow

I have an IIS hosted WCF Service which uses SqlHelper class from DAAB
2.0 in the data layer

Once in a while, it throws exception at this line:

Type: System.Runtime.InteropServices.COMException
Message: The handle is invalid. (Exception from HRESULT: 0x80070006

In the IIS server (6.0), the application pool gets recycled. And the event
log show following error message:

An unhandled exception occurred and the process was terminated.

Application ID: /LM/W3SVC/671226/Root/WCFMerchant

Exception: System.Threading.SemaphoreFullException

Message: Adding the given count to the semaphore would cause it to exceed
its maximum count.

StackTrace: at System.Threading.Semaphore.Release(Int32 releaseCount)
at System.Data.ProviderBase.DbConnectionPool.CleanupCallback(Object
at System.Threading._TimerCallback.TimerCallback_Context(Object state)
at System.Threading.ExecutionContext.runTryCode(Object userData)
code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext
executionContext, ContextCallback callback, Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state)
at System.Threading._TimerCallback.PerformTimerCallback(Object state)

Anyone has any idea why this error occurs? Is there any problem to use the
SQLHelper class which mostly in static methods from WCF service
(multithreaded)? If that is the case, any solution to fix it without
greatly reconstruct my project ?


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question