Frage

Ich habe ein Problem, das auftritt, wird nach meinem Server neu gestartet wird. Ich habe einige Funktionen in Sharepoint, für verschiedene Dinge zu tun. Eine Sache, die sie tun, ist es, Elemente in ein paar verschiedene MSMQ Warteschlangen hinzufügen. Unmittelbar nach einem Neustart des Servers, wenn ich versuche, auf Sharepoint anmelden und ich gehe auf eine benutzerdefinierte Seite von mir, und klicken Sie auf eine Schaltfläche innerhalb dieser Seite (die dann den msmq Artikel schaffen würde) ich auf eine Seite zu bekommen, dass die Anzeige folgendes ein:

Die Website sank diese Webseite zu zeigen, Dieser Fehler (HTTP 403 Forbidden) bedeutet, dass der Internet Explorer der Lage war, auf der Website zu verbinden, aber es ist nicht berechtigt, die Webseite

anzuzeigen

Wenn ich graben in den Ereignisprotokollen ich die folgenden Fehler in Anwendung finden:

Event ID: 1314
An unhandled access exception has occurred

AND in the Security event logs:

3 of these:
Event ID: 560
Object Open:
    Object Server:  SC Manager
    Object Type:    SERVICE OBJECT
    Object Name:    MSDTC
....
    Accesses:   Query status of service 

Event ID: 560
Object Open:
    Object Server:  SC Manager
    Object Type:    SC_MANAGER OBJECT
    Object Name:    ServicesActive
...
    Image File Name:    C:\WINDOWS\system32\services.exe
...
    Accesses:   Connect to service controller 
            Query service database lock state 

Event ID: 560
Object Open:
    Object Server:  SC Manager
    Object Type:    SERVICE OBJECT
    Object Name:    MSDTC
...
    Image File Name:    C:\WINDOWS\system32\services.exe
...
    Accesses:   Query service configuration information 

Auch, wenn ich auf die Sharepoint-Protokolle eingraben, finde ich die folgenden Fehler:

  

Anwendungsfehler beim Zugriff /my/site/url/MyPage.aspx, Fehler = Zugriff   ist abgelehnt. (Ausnahme von HRESULT: 0x80070005 (E_ACCESSDENIED))   Server-Stack-Trace: bei   System.Transactions.Oletx.IDtcProxyShimFactory.ConnectToProxy (String   nodeName, Guid resourceManagerIdentifier, IntPtr managedIdentifier,   Boolean & nodeNameMatches, UInt32 & whereaboutsSize, CoTaskMemHandle &   whereaboutsBuffer, IResourceManagerShim & resourceManagerShim) bei   System.Transactions.Oletx.DtcTransactionManager.Initialize () bei   System.Transactions.Oletx.DtcTransactionManager.get_ProxyShimFactory ()   beim   System.Transactions.Oletx.OletxTransactionManager.CreateTransaction (TransactionOptions   Eigenschaften) bei   System.Transactions.TransactionStatePromoted.EnterState (InternalTransaction   tx) ...
      ... bei System.Transactions.EnlistableStates.Promote (InternalTransaction tx)
  bei System.Transactions.Transaction.Promote () bei   System.Transactions.TransactionInterop.ConvertToOletxTransaction (Transaktion   Transaktion) an   System.Transactions.TransactionInterop.GetDtcTransaction (Transaktion   Transaktion) an   System.ServiceModel.Channels.MsmqQueue.GetNativeTransaction (MsmqTransactionMode   transactionMode) bei   System.ServiceModel.Channels.MsmqQueue.SendDtcTransacted (NativeMsmqMessage   Nachricht, MsmqTransactionMode transactionMode) an   System.ServiceModel.Channels.MsmqQueue.Send (NativeMsmqMessage Nachricht,   MsmqTransactionMode transactionMode) bei   System.ServiceModel.MsmqIntegration.MsmqIntegrationOutputChannel.OnSend (Message   Nachricht, Timeout Timespan) bei System.ServiceModel.Chann ...

Ich habe zwei VMs, eine für die Bahn (Sharepoint) Maschine, und einer der DB-Maschine (wo alle Inhalte dbs usw. gespeichert werden). Der DB-Server ist ein Hauptdomänencontroller, und beide Maschinen sind Teil der gleichen Domäne. Ich habe einen Domain-Benutzer erstellt für den Sharepoint-Anwendungspool zu verwenden.

Seltsamerweise ist es möglich, die Fehler verschwinden zu machen, indem zu einem anderen Teil meiner Anwendung gehen und laufen, dass Code (der auch einen Eintrag in die msmq fügt). Sobald dies geschehen ist, dann der ganze Rest der Anwendung arbeitet als normal.

Jede Hilfe wäre unglaublich geschätzt.

Hinweis: Ich habe bemerkt, dass der Fehler etwas mit dem anonymen Benutzer (IUSR ...) in IIS für die Sharepoint-Website zu tun hatte. Ich änderte, dass Benutzer ein Domain-Administrator-Benutzer zu sein, und der Fehler nicht mehr passiert. Also, es ist etwas mit den Berechtigungen des IUSR .. Benutzer zu tun, aber ich weiß nicht, was ...

War es hilfreich?

Lösung

O M G

Ok, also habe ich versucht, etwas, es war ein langer Schuss, aber ich war in meinem Latein am Ende.

Ich wickelte die gesamten Code, der den MSMQ spricht (Hinzufügen von Elementen in die Warteschlange) in der Flucht mit erhöhter privelages thang, und es hat funktioniert !!!!

SPSecurity.RunWithElevatedPrivileges (Delegierter () { // MSMQCode hier });

Jetzt kann ich den Server neu starten, und führen Sie die Sachen, die vor wurde erroring, und es funktioniert gut!

Andere Tipps

Betrachten aufwärmen Skripte auf Server-Neustart ausgeführt wird.

http://blogs.msdn.com/joelo /archive/2006/08/13/697044.aspx

Geben Sie jeder die Erlaubnis zum Verzeichnis ist unter inetpub lesen \ wss etc ..

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top