когда System.Web.HttpResponse.End() называется System.Thread.Abort уволен, который, как я предполагаю, вызывает (или вызывает) исключение? У меня есть некоторые записи, и это отображается в файле журнала...
Первый шанс
exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll
12/14/2008 01:09:31::
Error in Path :/authenticate
Raw Url :/authenticate
Message :Thread was being aborted.
Source :mscorlib
Stack Trace : at System.Threading.Thread.AbortInternal()
at System.Threading.Thread.Abort(Object stateInfo)
at System.Web.HttpResponse.End()
at DotNetOpenId.Response.Send()
at DotNetOpenId.RelyingParty.AuthenticationRequest.RedirectToProvider()
at MyProject.Services.Authentication.OpenIdAuthenticationService.GetOpenIdPersonaDetails(Uri serviceUri) in C:\Users\Pure Krome\Documents\Visual Studio 2008\Projects\MyProject\Projects\Services\Authentication\OpenIdAuthenticationService.cs:line 108
at MyProject.Mvc.Controllers.AuthenticationController.Authenticate() in C:\Users\Pure Krome\Documents\Visual Studio 2008\Projects\MyProject\Projects\MVC Application\Controllers\AuthenticationController.cs:line 69
TargetSite :Void AbortInternal()
A first chance exception of type 'System.Threading.ThreadAbortException' occurred in Ackbar.Mvc.DLL
An exception of type 'System.Threading.ThreadAbortException' occurred in Ackbar.Mvc.DLL but was not handled in user code
Является ли это обычным поведением и можно ли изящно прервать вместо (что похоже) внезапное внезапное прерывание?
Update
Пока это общая перепись, она по дизайну. Так что я задаюсь вопросом, возможно ли, мы могли бы взять этот вопрос и посмотреть, можем ли мы изменить код, чтобы он не чувствовал, что мы заканчиваем поток преждевременно и изящно выходим... Возможно? Примеры кода?