2017-08-05 6 views
0

Könnte jemand erklären, warum das passiert, ich habe ein C# -Backend, dass ich über WCF verbinden. Im Backend habe ich zwei Klassen im selben Namespace, die zwei Eigenschaften haben, die den gleichen Namen haben. Diese Klassen werden in einem separaten Objekt verwendet. Die Typen der Eigenschaften sind unterschiedlich, einer ist eine Zeichenkette und einer ist ein Objekt, aber es scheint eine Art von Kollision zu geben, wenn das Objekt deserialisiert wird.Objekt Kollision mit WCF

Es gibt diesen zufälligen Fehler zurück, wenn ich rufe, um das Objekt zurückzugeben.

This could be due to the service endpoint binding not using the HTTP 
protocol. This could also be due to an HTTP request context being aborted by 
the server (possibly due to the service shutting down). See server logs for 
more details. 

Hier sind die Klassen, die Eigenschaft das Problem verursacht

public class Activities 
{ 
    public string ApplicationReceived { get; set; } 
    public string PIMGranted { get; set; } 
    public Bcgranted[] BCGranted { get; set; } 
    public object CCCGranted { get; set; } 
    // public object BCIssued { get; set; } 
    public object CCCIssued { get; set; } 
} 


public class CCC 
{ 
    public string BCIssued { get; set; } 
    public string FinalIns { get; set; } 
    public string LapsedMonths { get; set; } 
    public object WorkStarted { get; set; } 
    public object Notified { get; set; } 
    public object Lapsed { get; set; } 
    public object Extension { get; set; } 
} 
+0

Was ist die genaue Ausnahme im Serverprotokoll? Aktivieren Sie die Traceerstellung https://stackoverflow.com/questions/4271517/how-to-turn-on-wcf-tracing, wenn Sie es nicht finden können – rene

+0

Danke, ich habe im Moment keinen Zugriff auf die Umgebung, aber ich Ich werde das einschalten und die Ergebnisse veröffentlichen, sobald ich kann – Damage

Antwort

0

Dank Rene Beitrag über WCF-Protokollierung BCIssued ist, ich war auf Protokollierung aktivieren können und fand den Fehler auf der Serverseite

Type 'Newtonsoft.Json.Linq.JToken' is a recursive collection data contract 
which is not supported. Consider modifying the definition of collection 
'Newtonsoft.Json.Linq.JToken' to remove references to itself.