Frage

Was ist der beste Weg, um ein JSON-Webdienst zu erstellen? Wir haben ein anderes Team, das Java verwendet, und sie bestehen darauf, die gesamte Kommunikation zu haben JSON getan werden. Ich würde es vorziehen WCF zu verwenden, anstatt jede dritte Partei Rahmen.

ich diesen Blog gefunden: http://www.west-wind.com /weblog/posts/164419.aspx , und es legt nahe, dass die Microsoft-Implementierung mit M $ spezifischen Mist fehlerhaft ist.

War es hilfreich?

Lösung 4

Ich landete mit JayRock . Sein fantastisches Stück Technik, funktioniert einfach. Sie haben noch keine NullReferenceExceptions wie aus diesem Mist WCF, wenn Sie es nicht korrekt konfiguriert werden.

Andere Tipps

Wenn Sie WCF verwenden und das 3.5 Framework, es könnte nicht einfacher sein. Wenn Sie Ihre OperationContracts mit dem WebGet Attribut markieren, setzen Sie einfach den Response Parameter WebMessageFormat.Json. Wenn der Dienst restfully zugegriffen wird, wird es die Daten zurück, die DataContractJsonSerializer verwendet wird.

Es ist wirklich hilfreich, die POCOs zu markieren, die Sie JSON wollen Serialisierung als [Datacontract] und jedes serializable Mitglied als [Datamember] zu markieren. Andernfalls erhalten Sie mit flippigen JSON auf, als Rick in seinem Blog-Post wies darauf hin.

Ich halte eine reife Open Source Alternative zu WCF in ServiceStack , einem modernen, Code-first, modell- angetrieben, Web Services Framework WCF Ersatz ermutigend Code und Fern best Practices für die Erstellung von prägnanten, DRY, High-perfomance, skalierbaren REST Web Services .

Es enthält .NET schnellsten JSON Serializer und verfügt über eine automatische Unterstützung JSON, JSONP CORS Header sowie form urlencoded / mehrteiliger-Formdata. Die Online-Demos sind ein guter Anfang zu betrachten, da sie alle Ajax verwenden.

Darüber hinaus gibt es keine XML-Konfigurations oder Code-gen und Ihre 'write-once' C # Web-Service liefert alle JSON, XML, SOAP, JSV, CSV, HTML Endpunkte aktiviert out-of-the-Box, automatisch mit Haken in Ihrem eigenen Stecker Inhaltstypen , wenn nötig.

Es enthält auch generic Sync / Async-Service-Clients eine schnelle, getippt Client / Server-Kommunikations-Gateway End-to-end.

Dies ist das komplette Beispiel des gesamten Code benötigt, um einen einfachen Web-Dienst zu erstellen, das automatisch und ohne Config ist, registriert und machte auf dem ganzen Web-Datenformate auf vordefinierten und benutzerdefinierten REST-ful Routen :

public class Hello {
    public string Name { get; set; }
}

public class HelloResponse {
    public string Result { get; set; }
}

public class HelloService : IService<Hello> {
    public object Execute(Hello request)
    {
        return new HelloResponse { Result = "Hello, " + request.Name };
    }
}

Vor Dienst kann (ohne Build-Schritte / code-gen) in C # aufgerufen wird mit der Zeile unter:

var client = new JsonServiceClient(baseUrl);
var response = client.Send<HelloResponse>(new Hello { Name = "World!" });
Console.WriteLine(response.Result); // => Hello, World

Und in jQuery mit:

$.getJSON('hello/World!', function(r){ 
    alert(r.Result); 
});
  

Was ist der beste Weg, um ein JSON-Webdienst zu erstellen? Wir haben eine andere   Team, das Java verwendet, und sie bestehen darauf, die gesamte Kommunikation zu haben,   mit JSON getan. Ich würde es vorziehen WCF zu verwenden, anstatt jede dritte Partei   Rahmen.

Hier ist eine easy-to-follow Komplettlösung, die Sie durch den Prozess der Einrichtung Ihres ersten WCF-Dienstes nimmt, dann ist es zu einer SQL Server-Datenbank verknüpft.

http://mikesknowledgebase.com/pages/Services/WebServices-Page1.htm

Es nutzt Microsoft geliebte Northwind SQL Server-Datenbank und zeigt, wie ein einfachen JSON WCF Web Service zu schreiben, lesen und schreiben, es ist Daten.

eingeben Bild Beschreibung hier

Oh, und es zeigt dann, wie die JSON-Daten mit JavaScript oder eine iOS-Anwendung konsumieren.

Viel Glück!

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