Ich habe eine Designkrise.OWIN Startup Klasse mehrmals aufgerufen
Ich habe einige Dinge, die während meiner Anwendungslebensdauer statisch bleiben müssen.
Eine public void Configuration(IAppBuilder app)
Methode in der Startup.cs-Klasse wird mehr als einmal aufgerufen, außerdem scheinen sie mehrere Instanzen von "statischen" Variablen zu sein.
Ich habe diese auf meiner Startklasse
[assembly: OwinStartup(typeof(Startup))]
Am auch diese parkages
<package id="Antlr" version="3.4.1.9004" targetFramework="net45" />
<package id="EntityFramework" version="6.1.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Cors" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Identity.Core" version="2.2.1" targetFramework="net45" />
<package id="Microsoft.AspNet.Identity.EntityFramework" version="2.2.1" targetFramework="net45" />
<package id="Microsoft.AspNet.Identity.Owin" version="2.2.1" targetFramework="net45" />
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.SignalR.Core" version="2.2.2" targetFramework="net45" />
<package id="Microsoft.AspNet.SignalR.SystemWeb" version="2.2.2" targetFramework="net45" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Owin" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net45" />
<package id="Microsoft.Owin" version="3.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Cors" version="3.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Host.SystemWeb" version="3.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Security" version="3.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Security.Cookies" version="3.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Security.OAuth" version="3.1.0" targetFramework="net45" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net45" />
<package id="Owin" version="1.0" targetFramework="net45" />
<package id="WebGrease" version="1.5.2" targetFramework="net45" />
Wie kann ich versichern, dass die Konfiguration in startup.cs nur einmal ausgeführt wird?
ich glaube, Sie –
ApplicationStart der Global.asax statt Owin der Konfiguration verwenden können, Was macht Sie vermuten, es wird mehr als einmal aufgerufen? Wenn Sie den OWIN-Dokumenten gefolgt sind (https://docs.microsoft.com/en-us/aspnet/web-api/overview/hosting-aspnet-web-api/use-owin-tos-self-host-web-api), hätten Sie einen ähnlichen Code - 'WebApp.Start (url: baseAddress);', den Sie es einmal aufrufen würden. –
Subbu
Überprüfen Sie, ob Sie Ihre App in einem Webgarten betreiben. Möglicherweise wird dies mehrere Male aufgerufen, durch mehrere Worker-Prozesse – zaitsman