OwinStartup nie odpala

Miałem kod konfiguracyjny OwinStartup działa idealnie, a następnie przestał działać. Niestety nie jestem pewien, co dokładnie zrobiłem, aby przestał działać i mam naprawdę trudny czas, aby go rozgryźć.

Aby upewnić się, że mam podstawy pokryte, sprawdziłem dwukrotnie, aby upewnić się, że mam

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

Atrybut przypisany poprawnie i upewniłem się, że nie mam appsettingu dla owin: AutomaticAppStartup, który jest ustawiony na false, więc zrobiłem jeden zestaw na true, aby być bezpiecznym ponieważ wcześniej nic tam nie było.

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

Próbowałem też specjalnie wywołać appSetting:

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

Zanim przestał działać, zaktualizowałem Microsoft.Owin.Pakiety Security NuGet do 2.0.2, więc próbowałem przywrócić je do 2.0.1 (to był ból), ale nic to nie zmieniło. Mam WebActivator zainstalowany w projekcie i używam go do bootstrap innych rzeczy, ale przetestowałem to na świeżym szablonie Webaplikacji i działa tam, więc nie sądzę, że jest to winowajca.

Próbowałem również usunąć moją klasę startową i użyć Visual Studio, aby dodać nową za pomocą typu klasy startowej OWIN W Add New Item i to nie jest wywoływane albo. Następnie próbowałem dodać drugą klasę startową, ponieważ Wiem, że rzuci wyjątek, jeśli istnieje więcej niż jeden atrybut OwinStartup zdefiniowany, ale nie rzuca żadnego wyjątku tam.

Nie wiem, czego jeszcze spróbować. Jakieś pomysły?

Update

Okazuje się, że Resharper usunięto odniesienie do Microsoft.Owin.Gospodarz.SystemWeb kiedy użyłem go do usunięcia nieużywanych referencji.

Author: Jeff Treuting, 2013-11-26

19 answers

Upewnij się, że masz zainstalowany Microsoft.Owin.Host.SystemWeb pakiet w projekcie. Ten pakiet jest potrzebny do wykrywania uruchamiania w aplikacjach hostowanych przez usługi IIS. Więcej informacji można znaleźć w Ten artykuł.

 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/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-10 16:38:26

Alternatywna odpowiedź na oryginalny problem omawiany-Owin " nie odpala."W moim przypadku spędziłem godziny myśląc, że nie odpala, ponieważ nie byłem w stanie ustawić w nim punktu przerwania.

Podczas debugowania uruchamiania OWIN w visual studio

  • IIS Express-uruchomienie "F5" spowoduje złamanie kodu startowego OWIN

  • IIS-uruchamianie "F5" nie będzie pękać aż po OWIN (i global.asax) kod jest załadowany. Jeśli dołączysz do W3P.exe będziesz mógł wejść do to.

 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/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-31 21:41:05

Jeśli zaktualizowałeś / aś starszą wersję MVC, upewnij się, że nie masz

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

W twoim web.config. Powstrzyma to wywołanie logiki startowej.

Zamiast tego zmień go na true

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

Zdaję sobie sprawę, że już o tym wspomniałeś, ale czasami ludzie (tacy jak ja) nie czytają całego pytania i po prostu przeskakują do odpowiedzi...

Gdzieś wzdłuż linii - kiedy uaktualniłem do MVC 5 to zostało dodane i nigdy nie widziałem go do dzisiaj.

 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/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-13 00:16:39

Jeśli masz problemy z debugowaniem kodu w klasie Startup, ja również miałem ten problem - lub myślałem, że mam. Kod był odpalany, ale wierzę, że dzieje się to przed dołączeniem debuggera, więc nie można ustawić punktów przerwania na kodzie i zobaczyć, co się dzieje.

Możesz to udowodnić, rzucając wyjątek w metodzie Configuration klasy 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/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-02 11:39:04

Miałem podobny problem do tego i rozliczanie tymczasowe ASP.NET Pliki to naprawiły. Mam nadzieję, że to komuś pomoże.

 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/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-08 18:11:42

WSKAZÓWKI DEBUGOWANIA

Jeśli debugowanie nie działa, spróbuj użyć usługi IIS Express lub wypróbuj poniższą metodę dla lokalnych usług IIS

Korzystanie z lokalnego IIS

Z jakiegoś powodu ta metoda umożliwia debugowanie tej metody:

  1. poproś o stronę internetową
  2. Dołącz do w3wp.proces exe
  3. Dotknij sieci.plik konfiguracyjny
  4. poproś o stronę internetową

Extra tip

Może zrobienie tego spowoduje spłukanie pamięci podręcznej:

  1. In www.config Dodaj atrybut optimizeCompilations z wartością false

  2. Run site

  3. Cofnij zmianę w sieci.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/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-11 09:00:31

Miałem ten sam problem. Microsoft.Owin.Gospodarz.SystemWeb pakiet został zainstalowany, ale podczas instalacji NuGet nie był w stanie dodać dll jako odniesienie z jakiegoś powodu. Upewnij się, że twój projekt ma to odniesienie. Jeśli nie możesz spróbować ponownie zainstalować:

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

Miałem błąd jak poniżej na reinstall ale jakoś to działało:

Wywołanie systemowe nie powiodło się. (Wyjątek od 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/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-24 08:36:01

W moim przypadku pula aplikacji IIS nie została ustawiona na v4. To była v2.

Zmieniłem AppPool na v4 i wszystko było ok.

 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/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-09 15:51:22

W moim przypadku to Microsoft.Owin.Gospodarz.Pakiet SystemWeb jest obecny w projekcie.

Ale poniżej dwa znaczniki nie są obecne w sieci.config.

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

Po ich dodaniu działa płynnie.

 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/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-29 10:27:36

W moim przypadku ścieżka wyjściowa mojej strony jest zmieniana przez kogoś, IIS Express nawet nie ładuje OWIN, A Klasa setup oczywiście nie zostanie uderzona. Po ustawieniu ścieżki wyjściowej jako " bin\", działa dobrze.

 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/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-09 06:35:02

Miałem ten sam problem, gdy dodałem Owin do istniejącego projektu internetowego. W końcu okazało się, że problem wynika z następujących W Sieci.plik konfiguracyjny.

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

   ...

</assemblies>

Usuń assembly = "* " był przyczyną problemu. Po usunięciu tej linii uruchomił się kod startowy Owin. W końcu zmieniłem go na następujący i działał idealnie

<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/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-19 01:10:14

Pomieszałem z wieloma sugestiami dotyczącymi tego postu.

Miałem następujące, ale nadal nie mógł wylądować na punkcie przerwania. Rzucenie wyjątku udowodniło, że kod został wprowadzony.

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

W końcu z rozpaczy zajrzałem do project- > properties, a następnie w sekcji WEB sprawdziłem też pole wyboru NATIVE CODE (ASP.NET powinny być już sprawdzone).

To w końcu mi to naprawiło.

uwaga: używam Visual Studio 2017 Profesjonalnie.

 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/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-30 17:16:34

Nie jestem pewien, czy to jeszcze komuś pomoże, ale wszystkie powyższe rozwiązania (i z kilku innych postów) zrobiłem bez skutku.

Naprawiłem problem polegający na umieszczeniu ukośnika wstecznego na końcu wartości RedirectUri w sieci.config (crazy, I know!). RedirectUri jest parametrem w UseOpenIdConnectAuthentication.

Więc zamiast:

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

Zrób to:

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

I zaktualizowano również adres URL odpowiedzi w ustawieniach aplikacji Azure.

Że w jakiś sposób uruchomienie działa zgodnie z oczekiwaniami (prawdopodobnie wyczyszczone niektóre pamięci podręcznej), a punkty przerwania są teraz uruchamiane.

Dla twojej wiadomości. Modelowałem swój kod stąd: 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/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-06 23:03:18

Po konwersji biblioteki klas do projektu aplikacji internetowej, wpadłem na to i stałem się uparty. Okazało się, że w moim pliku .csProj miałem to:

<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>
  • w ten sposób budowanie różnych bibliotek dll w podfolder bin-folder (który ifc. nie zadziała). Rozwiązanie polegało na zmianie ZARÓWNO zawartości tekstu na {[2] } na 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/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-09 09:11:06

Dla mnie to dlatego, że nie są one w tej samej przestrzeni nazw. Po usunięciu mojego AppStart z " projektu.Startup.AppStart" i niech obaj startują.cs i Startup.Auth.cs Z " project.Startup " przestrzeń nazw, wszystko było z powrotem do pracy idealnie.

Mam nadzieję, że pomoże!

 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/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-17 02:52:21

W moim przypadku, moja sieć.config had

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

Aby zmusić go do powrotu do Owin, potrzebowałem go

<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/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-31 14:46:28

Jeśli widzisz ten problem z hostingiem IIS, ale nie podczas debugowania F5, spróbuj utworzyć nową aplikację w IIS.

To mi to naprawiło. (windows 10) W końcu usunąłem " złą " aplikację IIS i ponownie utworzyłem identyczną o tej samej nazwie.

 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/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-08 11:58:34

Myślę, że niektórzy ludzie starali się dojść do tego, że jeśli chcesz programowo sprawić, aby twój serwer OWIN "ożył", nazywałbyś coś takiego:

using Microsoft.Owin.Hosting;

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

Gdy wykonasz to połączenie, zobaczysz wywołanie StartupMethod() w debuggerze

 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/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-11 08:16:19

Najpierw Dodaj klasę OWIN Auth, a następnie włącz klucz OWIN:AutomaticAppStartup w swojej sieci.config like Teraz odpali

 -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/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-25 08:23:26