Nehmen wir an, ich habe einen IOC-Container. Ich benutze diesen Container einen Logger mit einem Singleton Lebensstil zu registrieren:SimpleInjector Singleton LifeStyle in Web
var container = new Container();
container.Register<ILogger, Logger>(LifeStyle.Singleton);
Nun, wenn ich diesen Singleton verwende, wird es nur eine Instanz sein für sie geschaffen. Aber meine Frage ist zum Beispiel für ein ASP.NET-Web. Ist das dieselbe Instanz, die über die gesamte Anwendung für diesen einen Benutzer oder für JEDEN Benutzer auf meiner Website verwendet wird?
Was ist, wenn es für jeden Benutzer ist und der Logger beschäftigt ist, etwas zu loggen und ein anderer Benutzer versucht, etwas zu loggen? Wird das einen Fehler auslösen? (Was ich meine ... was ist die beste Praxis für einen Logger?)
Die Thread-Sicherheit des Loggers ist auf die Logger-Implementierung zurückzuführen. Auf welchen Logger zielen Sie? – qujck
NLOG oder Log4Net – RubenHerman
sollte in Ordnung sein, und überprüfen Sie [serilog] (http://serilog.net/), es ist gut – qujck