OpenID в новом приложении SPA MVC 4, выбрасывающем VerficationException - операция может дестабилизировать среду выполнения

Начиная с нового проекта через шаблон SPA. Следуйте кулинарной книге по использованию Google OpenID. Пользовательский интерфейс теперь показывает кнопку со ссылкой на Google... При нажатии на ссылку вызов VerfiyAuthentication приводит к исключению проверки. Операция может дестабилизировать время выполнения.

Поиск этого исключения привел меня к множеству разных тупиков.

============================== Из-за ошибки asp.net ============== ===================

Операция может дестабилизировать время выполнения.

Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.Security.VerificationException: операция может дестабилизировать среду выполнения.

Ошибка источника:

Строка 226: открытый ActionResult ExternalLoginCallback(строка returnUrl) Строка 227: {Строка 228: AuthenticationResult result = OAuthWebSecurity.VerifyAuthentication(Url.Action("ExternalLoginCallback", new { ReturnUrl = returnUrl })); Строка 229: if (! Result.IsSuccessful) Строка 230: {

Исходный файл: c:\Users\weidson\Documents\Visual Studio 2012\Projects\MvcApplication5\MvcApplication5\Controllers\AccountController.cs Строка: 228

Трассировки стека:

[VerificationException:. Операция может дестабилизировать выполнения] DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.GetSignedMessageParts(канал-канал) +991 DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement.GetExtensionsDictionary(IProtocolMessage сообщение, булева ignoreUnsigned) +313 DotNetOpenAuth.OpenId.ChannelElements.d__a.MoveNext() +274 DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement.ProcessIncomingMessage(сообщение IProtocolMessage) +598 DotNetOpenAuth.Messaging.Channel.ProcessIncomingMessage(сообщение IProtocolMessage ().Messaging.Channel.ReadFromRequest(HttpRequestBase HTTPRequest) +705 DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.GetResponse(HttpRequestBase httpRequestInfo) +299 DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.GetResponse() +379 DotNetOpenAuth.AspNet.Clients.OpenIdClient.VerifyAuthentication(Контекст HttpContextBase) +183 DotNetOpenAuth.AspNet.OpenAuthSecurityManager.VerifyAuthentication(String returnUrl) +1243 Microsoft.Web.WebPages.OAuth.OAuthWebSecurity.VerifyAuthenticationCore(HttpConteebuth.ExAAAWOWE) Строка returnUrl) +139 MvcApplication5.Controllers.AccountController.ExternalLoginCallback(String returnUrl) в каталоге c: \ Users \ weidson \ Documents \ Visual Studio 2012 \ Проекты \MvcApplication5\MvcApplication5\Controllers\AccountController.cs: объектная переменная класса 228, lambda_ []) +181 System.Web.Mvc.ActionMethodDispatcher.Execute(контроллер ControllerBase, параметры Object[]) +59 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary) 2 parameters) +437 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary 2 параметра) +60 System.Web.Mvc.Async.AsyncControllerActionInvoker.InvokeSynchronousActionMethod (ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary 2 parameters) +50 System.Web.Mvc.Async.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41() +75 System.Web.Mvc.Async.<>c__DisplayClass8 1.b__7 (IAsyncResult ) +44 System.Web.Mvc.Async.WrappedAsyncResult 1.End() +140 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +102 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +49 System.Web.Mvc.Async.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() +126 System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +323 System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +323 System.Web.Mvc.Async.<>c__DisplayClass37.<BeginInvokeActionMethodWithFilters>b__36(IAsyncResult asyncResult) +44 System.Web.Mvc.Async.WrappedAsyncResult 1.End () +140 System.Web.Mvc.Async.AsyncResultWrapper.End (IAsyncResult asyncResult, тег объекта) +102 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IA)ync.Async.<> C _DisplayClass2a.b_ 20 () +68 System.Web.Mvc.Async. <> C _DisplayClass25.b_ 22 (IAsyncResult asyncResult) +184 System.Web.Mvc.Async.WrappedAsyncResult 1.End() +137 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +56 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +40 System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +40 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +47 System.Web.Mvc.Async.WrappedAsyncResult 1.End () +152 System.Web.Mvc.Async.AsyncResultWrapper.End (IAsyncResult asyncResult, тег объекта) +59 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, тег объекта) +40 System..Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +44 System.Web.Mvc.Async.<> C _DisplayClass4.b__3 (IAsyncResult ar) +47 System.Web.Mvc.Async.WrappedAsyncResult 1.End() +152 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +39 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +39 System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +45 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +47 System.Web.Mvc.Async.WrappedAsyncResult 1.End () +152 System.Web.Mvc.Async.AsyncResultWrapper.End (IAsyncResult asyncResult, тег объекта) +59 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, тег объекта) +40 System..Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +40 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +38 System.Web.Ct +930 System.Web.HttpApplication.ExecuteStep(шаг IExecutionStep, логический и завершен синхронно) +188

1 ответ

Решение

Нашел ответ. Выключение Intellitrace позволяет это работать. Похоже, проблема синхронизации при использовании этой формы отладчика.

Другие вопросы по тегам