Question

Quel est le meilleur moyen de créer un service Web JSON? Nous avons une autre équipe qui utilise Java et qui insiste pour que toutes les communications soient effectuées en utilisant JSON. Je préférerais utiliser WCF plutôt que tout autre framework tiers.

J'ai trouvé ce blog: http://www.west-wind.com /weblog/posts/164419.aspx , et suggère que l’implémentation de Microsoft est défectueuse avec une merde spécifique à M $.

Était-ce utile?

La solution 4

J'ai fini par utiliser JayRock . Sa technologie fantastique fonctionne parfaitement. Vous n’obtenez aucune exception NullReferenceException comme celle de cette merde WCF si vous ne la configurez pas correctement.

Autres conseils

Si vous utilisez WCF et le Framework 3.5, rien de plus simple. Lorsque vous marquez votre OperationContracts avec l'attribut WebGet, définissez simplement le paramètre ResponseFormat sur WebMessageFormat.Json. Lors de l’accès REST au service, les données sont renvoyées à l’aide de DataContractJsonSerializer.

Il est vraiment utile de marquer les POCO que vous souhaitez sérialiser JSON en tant que [DataContract] et de marquer chaque membre sérialisable en tant que [DataMember]. Sinon, vous vous retrouvez avec un JSON funky, comme Rick l'a souligné dans son billet de blog.

Je maintiens une alternative Open Source mature à la WCF dans ServiceStack , un modèle moderne, basé sur le code code encourageant et les meilleures pratiques distantes pour la création de solutions laconiques, DRY, Services Web REST évolutifs et performants .

Il inclut le le plus rapide Serializer JSON de .NET et prend en charge automatiquement JSON, JSONP. , CORS ainsi que le formulaire-urlencoded / multipart-formdata. Les démonstrations en ligne sont un bon début car elles utilisent toutes Ajax.

De plus, il n'y a pas de configuration XML ni de code-gen et votre service Web C # 'write-once' fournit tout points de terminaison JSON, XML, SOAP, JSV, CSV, HTML activés prêts à l'emploi, avec des points d'ancrage pour connecter votre propre Types de contenu si nécessaire.

Il inclut également les clients génériques du service sync / async fournissant un service rapide, dactylographié , passerelle de communication client / serveur de bout en bout.

Ceci est l'exemple complet de tout le code nécessaire à la création d'un service Web simple, automatiquement sans configuration, enregistré et disponible sur tous les formats de données Web sur des itinéraires REST-ful prédéfinis et personnalisés :

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 };
    }
}

Le service ci-dessus peut être appelé (sans aucune étape de construction / code-gen) en C # avec la ligne ci-dessous:

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

Et dans jQuery avec:

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

Quel est le meilleur moyen de créer un service Web JSON? Nous avons un autre   équipe qui utilise Java et ils insistent pour avoir toutes les communications   fait en utilisant JSON. Je préférerais utiliser WCF plutôt que tout tiers   cadre.

Voici une procédure pas à pas, qui vous guidera tout au long du processus de configuration de votre premier service WCF, puis de le lier à une base de données SQL Server.

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

Il utilise la base de données SQL Server Northwind bien-aimée de Microsoft et montre comment écrire un service Web JSON WCF simple pour lire et écrire ses données.

entrer la description de l

Oh, il montre ensuite comment utiliser les données JSON à l'aide de JavaScript ou d'une application iOS.

Bonne chance!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top