System.Threading.ThreadAbortException executing WCF service
- by SURESH GIRIRAJAN
In one of our prod server we recently ran into issue when we went and update the web.config and try to browse the service. We started seeing the service was not responding and getting the following warning in the application log. Our service is WCF service, BizTalk orchestration exposed as service. We have other prod server where we never ran into this issue, so what’s different with this server. After going thru lot of forum and came up on some Microsoft service pack and hot fix which related to FCN. But I don’t want to apply any patch on this server then we need to do on all the other servers too. So solution is simple, I dropped the existing website, created a new site with different name with updated web.config browse the service. Then dropped that site and recreate the original web site and it worked fine without any issue.
Event Viewer:
 Event Type:        Warning
Event Source:    ASP.NET 2.0.50727.0
Event Category:                Web Event 
Event ID:              1309
Date:                     6/6/2011
Time:                    5:41:42 PM
User:                     N/A
Computer:          PRODP02
Description:
Event code: 3005 
Event message: An unhandled exception has occurred. 
Event time: 6/6/2011 5:41:42 PM 
Event time (UTC): 6/6/2011 9:41:42 PM 
Event ID: a71769f42b304355a58c482bfec267f2 
Event sequence: 3 
Event occurrence: 1 
Event detail code: 0 
 Application information: 
    Application domain: /LM/W3SVC/518296899/ROOT/PortArrivals-2-129518698821558995 
    Trust level: Full 
    Application Virtual Path: /TESTSVC 
    Application Path: D:\inetpub\wwwroot\RFID\TESTSVC\ 
    Machine name: PRODP02 
 Process information: 
    Process ID: 8752 
    Process name: w3wp.exe 
    Account name: domain\BizTalk_Svc_Hostlso 
 Exception information: 
    Exception type: ThreadAbortException 
    Exception message: Thread was being aborted. 
 Request information: 
    Request URL: http://localhost:81/TESTSVC/TESTSVCS.svc 
    Request path: /TESTSVC/TESTSVCS.svc 
    User host address: 127.0.0.1 
    User: 
    Is authenticated: False 
    Authentication Type: 
    Thread account name: domain\BizTalk_Svc_Hostlso 
 Thread information: 
    Thread ID: 22 
    Thread account name: domain\BizTalk_Svc_Hostlso 
    Is impersonating: False 
    Stack trace:    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
   at System.Web.HttpApplication.ApplicationStepManager.ResumeSteps(Exception error)
 at System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
  
at 
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
 <Description>Handling an exception.</Description>
<AppDomain>/LM/W3SVC/518296899/ROOT/TESTSVC-6-129518741899334691</AppDomain>
<Exception>
<ExceptionType>System.Threading.ThreadAbortException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
<Message>Thread was being aborted.</Message>
<StackTrace>
at System.Threading.Monitor.Enter(Object obj)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath)
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest()
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest()
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequest(Object state)
at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke2()
at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke()
at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ProcessCallbacks()
at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.CompletionCallback(Object state)
at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.ServiceModel.Diagnostics.Utility.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)
</StackTrace>
<ExceptionString>System.Threading.ThreadAbortException: Thread was being aborted.
   at System.Threading.Monitor.Enter(Object obj)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath)
   at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest()
   at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest()
   at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequest(Object state)
   at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke2()
   at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke()
   at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ProcessCallbacks()
   at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.CompletionCallback(Object state)
   at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
   at System.ServiceModel.Diagnostics.Utility.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)</ExceptionString>