OwinStartup no disparar


Tenía el código de configuración OwinStartup funcionando perfectamente y luego dejó de funcionar. Desafortunadamente no estoy seguro exactamente lo que hice para que dejara de funcionar y estoy teniendo un tiempo muy difícil averiguarlo.

Para asegurarme de que tengo los conceptos básicos cubiertos, duplicé la comprobación para asegurarme de que tengo el

[assembly:OwinStartup(typeof(WebApplication.Startup))] 

Atributo asignado correctamente y me aseguré de que no tengo un AppSetting para owin: AutomaticAppStartup que se establece en false, así que hice un conjunto a true para estar seguro como no había nada allí antes.

<add key="owin:AutomaticAppStartup" value="true" />

También traté de llamar específicamente a la AppSetting:

<add key="owin:appStartup" value="WebApplication.Startup" />

Antes de que dejara de funcionar actualizé el Microsoft.Owin.Paquetes de NuGet de seguridad a 2.0.2, así que intenté revertirlos a 2.0.1 (eso fue un dolor) pero no cambió nada. Tengo WebActivator instalado en el proyecto y estoy usando eso para arrancar otras cosas, pero lo he probado en una nueva plantilla de aplicación web y funciona allí, así que no creo que sea el culpable.

También intenté eliminar mi clase de inicio y usar Visual Studio para agregar una nueva usando el tipo de clase de inicio de OWIN en Agregar nuevo elemento y que tampoco se llama. Luego intenté agregar una segunda clase de inicio ya que sé que lanzará una excepción si hay más de un atributo OwinStartup definido, pero no está lanzando ninguna excepción allí.

No estoy seguro de qué más probar. ¿Alguna idea?

Actualización

Resulta que Resharper se ha eliminado la referencia a Microsoft.Owin.Host.SystemWeb cuando lo usé para eliminar referencias no utilizadas.

Author: Jeff Treuting, 2013-11-26

19 answers

Asegúrese de haber instalado el paquete Microsoft.Owin.Host.SystemWeb en el proyecto. Este paquete es necesario para la detección de inicio en aplicaciones alojadas en IIS. Para más información puede consultar este artículo de.

 621
Author: Praburaj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-10 16:38:26

Respuesta alternativa al problema original discutido - Owin "no disparar."En mi caso, pasé horas pensando que no estaba disparando debido a que no podía establecer un punto de interrupción en él.

Al depurar el inicio de OWIN en visual studio

  • IIS Express-Ejecutar " F5 " se romperá en el código de inicio de OWIN

  • IIS-Ejecutar" F5 " no se romperá hasta después de OWIN (y global.asax) el código está cargado. Si se adjunta a W3P.exe usted será capaz de entrar en se.

 46
Author: Aaron Sherman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-31 21:41:05

Si ha actualizado desde una versión anterior de MVC, asegúrese de que no tiene

  <add key="owin:AutomaticAppStartup" value="false" />

En su web.config. Suprimirá la llamada a la lógica de inicio.

En su lugar cámbialo a true

  <add key="owin:AutomaticAppStartup" value="true" />

Me doy cuenta de que ya mencionaste esto, pero a veces la gente (como yo) no lee toda la pregunta y simplemente salta a las respuestas...

En algún lugar a lo largo de la línea - cuando actualicé a MVC 5 esto se agregó y nunca lo vi hasta hoy.

 46
Author: Simon_Weaver,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-13 00:16:39

Si tiene problemas para depurar el código en la clase Startup, también he tenido este problema, o pensé que lo tenía. El código se estaba disparando, pero creo que sucede antes de que el depurador se haya adjuntado, por lo que no puede establecer puntos de interrupción en el código y ver lo que está sucediendo.

Puede probar esto lanzando una excepción en el método Configuration de la clase Startup.

 23
Author: Remotec,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-02 11:39:04

Tuve un problema similar a este y la compensación Temporal ASP.NET Los archivos lo arreglaron. Espero que esto ayude a alguien.

 12
Author: randomsolutions,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-08 18:11:42

CONSEJOS DE DEPURACIÓN

Si la depuración no funciona, intente usar IIS Express o pruebe el método siguiente para IIS local

Uso de IIS locales

Por alguna razón este método habilita la depuración de este método:

  1. Solicitar una página web
  2. Adjuntar a w3wp.proceso exe
  3. Toca la web.archivo de configuración
  4. Solicitar una página web

Consejo adicional

Tal vez haciendo esto se vaciará un caché:

  1. En web.config agregue el atributo optimizeCompilations con un valor falso

  2. Ejecutar sitio

  3. Deshacer el cambio en web.config
 12
Author: Rasmus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-11 09:00:31

Yo tenía el mismo problema. Microsoft.Owin.Host.El paquete SystemWeb fue instalado pero durante la instalación NuGet no pudo agregar el dll como referencia por alguna razón. Asegúrate de que tu proyecto tenga esa referencia. Si no puedes intentar reinstalar:

update-package Microsoft.Owin.Host.SystemWeb -reinstall

Tuve un error como el siguiente en reinstalar pero de alguna manera funcionó:

Falló la llamada al sistema. (Excepción de HRESULT: 0x80010100 (RPC_E_SYS_CALL_FAILED))

 9
Author: Ufuk Hacıoğulları,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-24 08:36:01

En mi caso, el grupo de aplicaciones de IIS no se estableció en v4. Era v2.

Cambió el AppPool a v4 y todo estaba bien.

 2
Author: Grey Wolf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-09 15:51:22

En mi caso este Microsoft.Owin.Host.El paquete SystemWeb está presente en el proyecto.

Pero debajo de dos etiquetas no están presentes en la web.config.

<add key="owin:AutomaticAppStartup" value="true" />
<add key="owin:appStartup" value="namespace.className.methodName" />

Después de añadirlos funciona sin problemas.

 1
Author: ABB,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-29 10:27:36

En mi caso, la ruta de salida de mi sitio web es cambiada por alguien, el IIS Express incluso no carga OWIN, y la clase setup no será golpeada por supuesto. Después de establecer la ruta de salida como " bin\", funciona bien.

 0
Author: Sean Song,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-09 06:35:02

Tuve el mismo problema cuando agregué Owin a un proyecto web existente. Finalmente descubrí que el problema se debía a lo siguiente en la web.archivo de configuración.

<assemblies>
  <remove assembly="*" />
  <add assembly="System.Web.Mvc" />
  <add assembly="System.Web.WebPages" />

   ...

</assemblies>

El remove assembly="*" estaba causando el problema. Cuando elimino esta línea se ejecutó el código de inicio de Owin. Finalmente lo cambio a lo siguiente y funcionó perfectamente

<assemblies>
  <remove assembly="*" />
  <add assembly="Microsoft.Owin.Host.SystemWeb" />
  <add assembly="System.Web.Mvc" />
  <add assembly="System.Web.WebPages" />
  <add assembly="System.Web.Helpers" />
...
</assemblies>
 0
Author: James Rapson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-19 01:10:14

Me metí con muchas de las sugerencias en este post.

Tenía lo siguiente, pero todavía no podía aterrizar en un punto de quiebre. Lanzar una excepción demostró que se estaba introduciendo el código.

<appSettings>
...
  <add key="owin:AutomaticAppStartup" value="true" />
  <add key="owin:appStartup" value="SSOResource.Startup, SSOResource" />
...
</appSettings>

Finalmente, por desesperación, miré project - >properties, y luego en la sección WEB también revisé la casilla de verificación CÓDIGO NATIVO (ASP.NET debe ser ya comprobado).

Eso finalmente lo arregló para mí.

Nota: Estoy usando Visual Studio 2017 Profesional.

 0
Author: Anthony De Souza,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-30 17:16:34

No estoy seguro de si esto todavía ayudará a alguien, pero he hecho todas las soluciones anteriores (y de algunos otros mensajes) en vano.

Lo que solucionó el problema en mi extremo fue poner una barra invertida al final del valor RedirectUri en la web.config (loco, lo sé!). RedirectUri es un parámetro en UseOpenIdConnectAuthentication.

Entonces, en lugar de:

<add key="ida:RedirectUri" value="https://www.bogussite.com/home" />

Haz esto:

<add key="ida:RedirectUri" value="https://www.bogussite.com/home/" />

Y también se actualizó la URL de respuesta en la configuración de la aplicación Azure.

Que de alguna manera hizo el inicio se ejecutará como se esperaba (probablemente se borró algo de caché), y los puntos de interrupción ahora se están disparando.

FYI. Estaba modelando mi código desde aquí: https://github.com/microsoftgraph/aspnet-connect-sample

 0
Author: niki b,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-06 23:03:18

Después de convertir una biblioteca de clases en un Proyecto de Aplicación Web, me encontré con esto y me volví terco. Resultó que, en mi archivo .csProj, tenía esto:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
  <DebugSymbols>true</DebugSymbols>
  <DebugType>full</DebugType>
  <Optimize>false</Optimize>
  <OutputPath>bin\Debug\</OutputPath>
  <DefineConstants>DEBUG;TRACE</DefineConstants>
  <ErrorReport>prompt</ErrorReport>
  <WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
  <DebugType>pdbonly</DebugType>
  <Optimize>true</Optimize>
  <OutputPath>bin\Release\</OutputPath>
  <DefineConstants>TRACE</DefineConstants>
  <ErrorReport>prompt</ErrorReport>
  <WarningLevel>4</WarningLevel>
</PropertyGroup>
  • construyendo así las diversas dll en una subcarpeta de la carpeta bin (que ifc. no funcionará). La solución fue cambiar ambos contenidos de texto para OutputPath a solo bin\.
 0
Author: Frederik Struck-Schøning,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-09 09:11:06

Para mí fue porque no están en el mismo espacio de nombres. Después de quitar mi AppStart de " proyecto.Inicio.AppStart " y dejar que ambos se inicien.cs y Startup.Auth.cs con " proyecto.Startup " namespace, todo volvió a funcionar perfectamente.

Espero que ayude!

 0
Author: Fábio Carvalho,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-17 02:52:21

En mi caso, mi web.config had

<authorization>
  <allow users="?" />
</authorization>

Para forzarlo a volver a Owin, necesitaba que fuera

<authorization>
  <deny users="*" />
</authorization>
 0
Author: sirdank,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-31 14:46:28

Si ve este problema con el alojamiento de IIS, pero no al depurar F5, intente crear una nueva aplicación en IIS.

Esto lo arregló para mí. (windows 10) Al final borré la aplicación IIS "mala" y recreé una idéntica con el mismo nombre.

 0
Author: pmb5,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-08 11:58:34

Creo que lo que algunas personas estaban tratando de llegar a lo anterior es que si desea hacer que su servidor OWIN "cobre vida" programáticamente, estaría llamando a algo como esto:

using Microsoft.Owin.Hosting;

    IDisposable _server = WebApp.Start<StartupMethod>("http://+:5000"); 
              // Start Accepting HTTP via all interfaces on port 5000

Una vez que realice esta llamada, verá que la llamada a StartupMethod() se dispara en el depurador

 0
Author: JoeHz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-11 08:16:19

Primero agregue la clase OWIN Auth y luego habilite la clave OWIN:AutomaticAppStartup en su web.config like Ahora se disparará

 -3
Author: Venkatesh Prabu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-25 08:23:26