Tengo un extraño problema, no estoy seguro de cómo arreglar o si incluso puedo solucionarlo.

He hecho un poco de investigación en el tema, pero no puede encontrar una respuesta a lo que está haciendo.

Estoy siguiendo bastante simple guía en http://www.asp.net/mvc/tutorials/mvc-5/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on

y después de habilitar SSL y el cambio de la controller a requerir https me sale el siguiente error:

Error de servidor en la Aplicación’/’.

Referencia a objeto no establecida como instancia de un objeto.

Descripción: se produjo Una excepción no controlada durante la ejecución de
la solicitud web actual. Por favor, revise la traza de la pila para obtener más
información sobre el error y dónde se originó en el código.

Detalles De La Excepción: System.NullReferenceException: referencia a Objeto no
establecida como instancia de un objeto.

Fuente De Error:

Una excepción no controlada se ha generado durante la ejecución de la
solicitud web actual. Información sobre el origen y la ubicación de
la excepción puede ser identificado con la excepción seguimiento de la pila siguiente.

Seguimiento De La Pila:

[NullReferenceException: referencia a Objeto no establecida como instancia de un
objeto.]

Microsoft.Owin.De seguridad.Las Cookies.CookieAuthenticationProvider.Excepción(CookieExceptionContext
contexto) +49

Microsoft.Owin.De seguridad.Las Cookies.d__2.MoveNext()
+3698 del Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Tarea
la tarea) +93

Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Tarea
la tarea) +52 Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter`1.GetResult()
+24 de Microsoft.Owin.De seguridad.De la infraestructura.d__0.MoveNext()
+810 Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Tarea
la tarea) +93

Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Tarea
la tarea) +52 Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.GetResult()
+21 de Microsoft.Owin.De seguridad.De la infraestructura.d__0.MoveNext() +427 Del Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Tarea
la tarea) +93

Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Tarea
la tarea) +52 Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.GetResult()
+21 de Microsoft.AspNet.De la identidad.Owin.d__0.MoveNext() +641 Del Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Tarea
la tarea) +93

Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Tarea
la tarea) +52 Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.GetResult()
+21 de Microsoft.AspNet.De la identidad.Owin.d__0.MoveNext() +641 Del Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Tarea
la tarea) +93

Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Tarea
la tarea) +52 Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.GetResult()
+21 de Microsoft.AspNet.De la identidad.Owin.d__0.MoveNext() +641 Del Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Tarea
la tarea) +93

Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Tarea
la tarea) +52 Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.GetResult()
+21 de Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.d__5.MoveNext()
+287 Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Tarea
la tarea) +93

Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Tarea
la tarea) +52 Sistema.En tiempo de ejecución.CompilerServices.TaskAwaiter.GetResult()
+21 de Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.d__2.MoveNext()
+272 Sistema.En tiempo de ejecución.ExceptionServices.ExceptionDispatchInfo.Throw() +22 De Microsoft.Owin.Host.SystemWeb.De la infraestructura.ErrorState.Rethrow() +33
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.StageAsyncResult.Final(IAsyncResult
ar) +150

Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.EndFinalWork(IAsyncResult
ar) +42

Sistema.Web.AsyncEventExecutionStep.Sistema.Web.HttpApplication.IExecutionStep.Execute()
+415 Sistema.Web.HttpApplication.ExecuteStep(IExecutionStep paso, Boolean& completedSynchronously) +155

La Información De La Versión: Microsoft .NET Framework Versión:4.0.30319;
ASP.NET Versión:4.0.30319.34237

Apagar SSL corrige el problema, también sé que el comentario de la startup.auth en app_start corrige el problema en SSL.

¿Alguien sabe por qué ocurre esto?

  • stackoverflow.com/questions/4660142/…
  • Trate de poner un punto de interrupción en el método de Inicio y ver exactamente qué líneas se lanza esta excepción.
  • he tratado de que en realidad los pasos a través de y no lanzar una excepción de depuración.
  • Nunca he visto esto, yo realmente no tienen ninguna idea, sólo un loco… prueba a borrar las cookies, tal vez cambiando a SSL cambia algo con las cookies y podría haber dañado algo… Sólo una conjetura…
  • He re-creado el proyecto, desinstalar SQL y reinstalado (pensé que tal vez no era un problema de acceso pasando con él). He borrado las cookies, limpiar la solución, desinstalar y volver a instalar owin.. estoy en un perdido sobre el por qué de SSL es el catalizador para este problema.
  • Descifrado de SSL si se corrompe sus cookies, owin intenta descifrar los corruptos cookies y lanza la excepción. Aquí está la parte divertida, en lugar de darle el control para hacer algo acerca de la sangrienta cookies, como establecer un camino limpio que no intenta descifrar el maldito cookie adjunta a cada solicitud, se redirige el navegador a una URL que devuelve a los corruptos de las cookies y usted tiene un bucle de aquí. Me gusta llamar a este EL MONSTRUO de las galletas
  • Esto está ocurriendo para mí en chrome pero no en IE. Seguirán buscando…

InformationsquelleAutor micah hawman | 2014-10-12

15 Comentarios

  1. 33

    Similar a Sandeep la respuesta, también he actualizado la cookie de autenticación del proveedor. Excepto que en lugar de tragar el error que produjo la excepción por lo que podía ver lo que el problema de fondo era:

    app.UseCookieAuthentication(new CookieAuthenticationOptions
    {
        AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
        LoginPath = new PathString("/Account/Login"),
        Provider = new CookieAuthenticationProvider
        {
            //Enables the application to validate the security stamp when the user logs in.
            //This is a security feature which is used when you change a password or add an external login to your account.  
            OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, User>(
                validateInterval: TimeSpan.FromMinutes(30),
                regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)),
    
                /* I changed this part */
                OnException = (context =>
                {
                    throw context.Exception;
                })
        }                
    });

    El problema subyacente para mí era que me había cambiado el modelo y olvidado agregar una nueva migración.

    • Esto no sólo era exactamente mi mismo problema, el OnException código es realmente útil!
    • Yo te beso si yo pudiera, <3 yo no sé ni cuánto tiempo sólo me salvó. Saludos!
    • Querido dios, gracias. Lo que es un dolor en el…
    • Tu último párrafo en el clavo para mí. Me había olvidado de ejecución «de la Actualización de la Base de datos» cuando la fusión de algunos cambios.
    • Cuando he leído tu problema fue un cambio de modelo de la base de datos sin actualizar, me di cuenta de que lo hice. Creo que en la versión anterior los errores lanza advertencias sobre la base de datos de versionado. Se me olvidó crear la migración y actualización de base de datos, hecho que, todo lo que se ejecuta de nuevo.
    • Mi versión de CookieAuthenticationProvider no exponer OnException. Alguien sabe por qué?

  2. 19

    Que estaba recibiendo un error similar, pero cuando he cambiado EF configuración de DropCreateDatabaseIfModelChanges< Contexto> a DropCreateDatabaseAlways< Contexto>.

    No estoy seguro acerca de la causa de su error, pero me parece un problema en la Katana Proyecto https://katanaproject.codeplex.com/workitem/346

    Usted puede tratar de solución en el enlace de arriba o de https://katanaproject.codeplex.com/discussions/565294

    Esto es lo que hice en mi Inicio.Auth.cs

    app.UseCookieAuthentication(new CookieAuthenticationOptions
    {
        AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
        LoginPath = new PathString("/Account/Login"),
        Provider = new CookieAuthenticationProvider
        {
               OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<UserManager, User>(
                validateInterval: TimeSpan.FromMinutes(1),
                regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)),
    
               //**** This what I did ***//
                OnException = context => { }
        }
    });
    • Esto funciona para mí.
    • No estoy seguro sobre el funcionamiento interno de esta revisión, pero fue un salvavidas, gracias!
    • Todo lo que parece hacer es suprimir todas las excepciones, de modo que ya no se propagan. No estoy seguro de si eso es una buena idea.
  3. 10

    La ejecución de los siguientes actualizaciones después de la creación de un nuevo proyecto que funcionó para mí:

    actualización del paquete de Microsoft.Owin

    actualización del paquete de Microsoft.Owin.Seguridad

    actualización del paquete de Microsoft.Owin.De seguridad.Las Cookies

    Creo que el último podría haber sido suficiente.
    Estoy utilizando Visual Studio 2013 (12.0.21005.1) y el ASP.Net Aplicación Web plantilla con Web API.

    • La máxima puntuación, gracias! Acabo de actualizar a la última, y funciona perfectamente. Desde la Versión 3.0.0 a la Versión 3.0.1.
  4. 7

    Estoy de acuerdo en que la adición de «OnException = context => {}» resuelve la excepción que aparece en pantalla, pero el siguiente error que vi ahora puede sugerir una causa común, y, por tanto, un primer paso para probar antes de esta revisión.

    Ahora tengo un error que me informa de que el modelo de respaldo por el contexto ha cambiado. Esto puede significar que el intento de Añadir a la Migración y Actualización de la Base de datos puede resolver esto para otros ASP.NET la Identidad de los usuarios que se encuentran con esto, y si eso no funciona, a continuación, agregue la línea de arriba. Esto también podría sugerir algunas de las comprobaciones básicas como «¿se Puede conectar a la base de datos?» también puede ser vale la pena comprobar si usted ve esta Owin excepción de Seguridad. Una vez que este subsequenct error fue corregido podría felizmente quitar el OnException línea y el sitio sigue funcionando bien.

    • pregunto por qué esto no era aceptado como la respuesta
    • Esto resuelve el problema para nosotros.
  5. 4

    Tuve este problema y resuelto por la eliminación de las cookies.

    Parece que su cookie no es válido.

    • pero ocurrirá de nuevo después de algún tiempo…
  6. 2

    La razón de esta excepción es, probablemente, ser lanzado es porque hay un problema al crear su ApplicationDbContext.

    En mi caso he añadido las Migraciones y el conjunto de

            Database.SetInitializer(new MigrateDatabaseToLatestVersion<ApplicationDbContext, Configuration>());

    Y empecé a recibir el mismo error que usted.

    Resultó que cuando traté de acceder a cualquier objeto en la base de datos, el DbContext estaba tirando un error, diciendo AspNetUsers ya existe como anteriormente he corrido mi código sin migraciones activado, por lo tanto la Base de datos fue creada, con todas las tablas necesarias para la Identidad, y una vez que lo hice EnableMigrations, y establecer un initialiser, lanzaba un error diciendo que la Tabla ya existe.

    En tu caso, me imagino que hay algún problema subyacente con el ApplicationDbContext, antes del Inicio, intente lo siguiente antes de Config.Métodos Auth se llama:

            var ctx = new ApplicationDbContext(...);
            var count = ctx.Users.Count();

    Ver si se devuelve el recuento o lanza una excepción.

  7. 2

    Sí, yo tenía el mismo problema, he descargado una base de datos de Azure.
    A continuación, cambiar mi app para utilizar este
    Mi app tenía un nuevo campo que no estaba presente en la copia de seguridad de azure
    Las migraciones fueron fuera de sincronización.

    De la actualización de la Base de datos (en el paquete de gestionar las migraciones habilitado) hizo el truco.

  8. 2

    De la actualización de la Base de datos en la Consola del Administrador de Paquetes
    hice el truco para mí

  9. 1

    Estas respuestas parecen útiles y para indicar una tendencia a que la base de datos está en mal estado. Tengo este problema porque yo había actualizado mi modelo y no había actualizado la base de datos. Ahora mismo voy a llamar a Añadir a la Migración y Actualización de la Base de datos de forma manual cada vez que cambie el modelo y antes de tratar de depurar mi sitio y se me había olvidado que paso.

  10. 0

    Intentar quitar la Migración desde el proyecto

    Me ha pasado con alguna vez me he permitido la migración de base de datos para la Identidad DB

    después de quitar todo el proceso de migración de la carpeta y volver a generar el problema desapareció

    podría funcionar para usted

  11. 0

    Después de leer algunas de las respuestas, tratando de en es decir, en lugar de Chrome y al ver que no choque, me acaba de cerrar Chrome y reinicia la aplicación. Se trabajó.

Dejar respuesta

Please enter your comment!
Please enter your name here