2016-04-25 4 views
1

Ich'working auf einem WCF-Dienst, die im Grunde CSOM Funktionalitäten für Sharepoint Wartung kapselt.Aborting Methodenaufruf Fluss zwischen DLLs in WCF-Dienst

entfalteten ich den Service für unsere IIS und bemerkte ein seltsames Verhalten. Was ich bemerkt habe, ist dies;

Ich habe normale Klassenstrukturen, wo ein Verfahren aus dll A erstellt und verwendet Klassen von DDL B -> Nichts Besonderes, alles funktioniert im Debug-Ordnung.

aber eingesetzt, um unsere IIS Fluss der Methodenaufruf bricht plötzlich an einem bestimmten Punkt (zwischen DLLs). Die Protokollmeldungen von nlog stoppen einfach ohne Fehler und der Browser zeigt nur eine grundlegende Fehlerseite. ISS Logging zeigt auch keine Informationen an.

Es scheint, dass nicht ein einziger kann Methodenaufruf in der „next“ Klasse/Methode hergestellt werden.

public DataFactoryClient(string webFullUrl) 
{ 
     // THIS LOG MESSAGE CAN BE FOUND IN LOG FILE 
     Log.Trace("DataFactoryClient:DataFactoryClient(webFullUrl " + webFullUrl + ")"); 

     InformationProvider test = new InformationProvider(); 

.. Nächste Klasse ist Teil eines anderen DLL

public class InformationProvider : IInformationProvider 
{ 

    .... 

    public RoomInformationProvider(string ctorWebFullUrl = "****") 
    { 
     // THIS LOG MESSAGE CAN NOT BE FOUND IN LOG FILE 
     Log.Trace("InformationProvider:InformationProvider(ctorWebFullUrl " + ctorWebFullUrl + ")"); 
     ... 
    } 

ich etwas vermissen Sie? Ich hoffe, dass Sie mir hier helfen kann ;-)

Greetz und Dank in forcast Iki

+1

1) Stellen Sie sicher, dass die DLL korrekt eingesetzt wird. 2) Aktivieren Sie includeExceptionDetailsInFaults in web.config, vielleicht sehen Sie mehr Details auf der Fehlerseite. 3) Wickeln Sie den Konstruktoraufruf in try/catch und protokollieren Sie jede Ausnahme, die Sie serverseitig erhalten könnten. – nodots

+0

Danke für diesen Hinweis! Es half ;-) Das Problem war, dass die SharePointClient.dll nicht in das Bereitstellungspaket gepackt wurde. Eigentlich weiß ich nicht, warum .. Ich dachte, indem ich den Verweis auf das DLL-Projekt hinzufügen würde sie als Standard eingesetzt werden .. –

Antwort

0

Wie @nodots den Scheck erwähnt, dass alle DLLs wirklich im Bereitstellungspaket half vorgesehen sind. SharePointClient und Runtime wurden dem Ordner nicht hinzugefügt.

Die Aktivierung von includeExceptionDetailsInFaults zeigte die richtige Fehlermeldung