2016-03-30 16 views
0

Ich habe eine MVC4-Anwendung (die SignalR verwendet) auf einem Server bereitgestellt. SignalR funktioniert gut, wenn ich es auf meinem Dev-Rechner laufe, aber wenn ich es nach der Bereitstellung auf dem Server ausführe, erhalte ich den folgenden Fehler. Ich denke, es hat etwas mit etwas zu tun, das nicht berechtigt ist, in das Ereignisprotokoll zu schreiben. Ich schaute auf this Antwort, aber diese Lösungen funktionierten nicht für mich. Kann jemand Licht abwerfen?Die Quelle wurde nicht gefunden, aber einige oder alle Ereignisprotokolle konnten nicht mit SignalR durchsucht werden

System.Security.SecurityException: Die Quelle wurde nicht gefunden, aber einige oder alle Ereignisprotokolle konnten nicht durchsucht werden. Um die Quelle zu erstellen, benötigen Sie die Berechtigung, alle Ereignisprotokolle zu lesen, um sicherzustellen, dass der neue Quellenname eindeutig ist. Nicht verfügbare Protokolle: Sicherheit.

Server-Stack-Trace: bei System.Diagnostics.EventLog.FindSourceRegistration (String Quelle, String machine, Boolean readonly, Boolean wantToCreate) bei System.Diagnostics.EventLog.SourceExists (String Quelle, String machine, Boolean wantToCreate at) System.Diagnostics.EventLogInternal.VerifyAndCreateSource (String source, String currentMachineName) bei System.Diagnostics.EventLogInternal.WriteEvent (EventInstance Beispiel Byte [] Daten, Object [] -Werte) bei System.Diagnostics.EventLog. WriteEvent (EventInstance-Instanz, Object [] -Werte) um System.Diagnostics.TraceSource.TraceEvent (TraceEventType eventType, Int32-ID, Zeichenfolgenformat, Objekt [] args) um Microsoft.AspNet.SignalR.Transports.TransportHeartbeat. <> c__DisplayClass2.b__1 (String Schlüssel, ConnectionMetadata alt) bei System.Collections.Concurrent.ConcurrentDictionary 2.AddOrUpdate(TKey key, TValue addValue, Func 3 updateValueFactory) bei Microsoft.AspNet.SignalR.Transports.TransportHeartbeat.AddConnection (ITrackingConnection Verbindung) bei Microsoft.AspNet. SignalR.Transports.ForeverTransport.ProcessReceiveRequest (ITransportConnection Verbindung) bei Microsoft.AspNet.SignalR.PersistentConnection.ProcessRequest (HostContext context) bei Microsoft.Owin.Host.SystemWeb.OwinCallContext.Execute() bei Microsoft.Owin.Host .SystemWeb.OwinHttpHandler.BeginProcessRequest (HttpContextBase httpContext, AsyncC Allback Rückruf, Objektextradata)

Exception erneut ausgelöst bei [0]: bei Microsoft.Owin.Host.SystemWeb.Infrastructure.ErrorState. <> c__DisplayClass1.b__0 (Ausnahme ex) bei Microsoft.Owin.Host.SystemWeb.CallContextAsyncResult.End (IAsyncResult Ergebnis) bei System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() bei System.Web.HttpApplication.ExecuteStep (IExecutionStep Schritt, Boolean & completedSynchronously) die Zone der Assembly, die gescheitert war: MyComputer

+0

Mögliche Duplikat [System.Security.SecurityException wenn auf Event Log zu schreiben] (http://stackoverflow.com/questions/1274018/system-security-securityexception -when-Schreiben-zu-Ereignisprotokoll) –

Antwort

1

Zum testen Sie einen Admin-Benutzer als Identität des Anwendungspools festlegen. Standardmäßig ist der Wert ApplicationPoolIdentity.

enter image description here

Wenn es funktioniert Sie die Erlaubnis für den Network Service hinzufügen sollten und es als Benutzer der App-Pool hinzufügen.Sie sollten die Erlaubnis dieses Benutzers auf diesem Registrierungsschlüssel hinzu: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Security

+0

Ich habe das versucht, aber ich bekomme immer noch den gleichen Fehler. Ich stelle auch fest, dass der App-Pool heruntergefahren wird, wenn dieser Fehler generiert wird, sodass ich ihn immer neu starten muss. – Ray

+0

Warten Sie eine Minute, vielleicht habe ich Ihre Antwort missverstanden. Aber als ich die App-Pool-Identität in NETWORK SERVICE änderte und dem obigen Registrierungsschlüssel Vollzugriff erteilt, funktionierte es. Ich dachte immer, dass die Identität ApplicationPoolIdentity den NETWORK SERVICE-Account hinter den Kulissen "nutzt". – Ray

+0

Sorry meine Antwort ist ein wenig unklar (ich werde meine Antwort aktualisieren, wenn ich wieder zu Hause bin). Ich bin froh, dass das trotzdem geholfen hat. –

Verwandte Themen