J
John Dow
I have a IIS hosted WCF Service which uses SqlHelper class from DAAB version
2.0 in the data layer
Once in a while, it throws exception at this line:
Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReader()
Type: System.Runtime.InteropServices.COMException
Message: The handle is invalid. (Exception from HRESULT: 0x80070006
(E_HANDLE))
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
Process ID: 5960
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
state)
at System.Threading._TimerCallback.TimerCallback_Context(Object state)
at System.Threading.ExecutionContext.runTryCode(Object userData)
at
System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode
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 ?
2.0 in the data layer
Once in a while, it throws exception at this line:
Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReader()
Type: System.Runtime.InteropServices.COMException
Message: The handle is invalid. (Exception from HRESULT: 0x80070006
(E_HANDLE))
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
Process ID: 5960
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
state)
at System.Threading._TimerCallback.TimerCallback_Context(Object state)
at System.Threading.ExecutionContext.runTryCode(Object userData)
at
System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode
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 ?