Je suis en dehors de l'équipe de base qui maintient ServiceStack - une maturité Open Source alternative à WCF: moderne, code premier, piloté par le modèle, les services Web de remplacement WCF cadre encouraging code and remote best-practices pour la création laconique, SEC , high-perfomance, scalable REST web services.
Il dispose d'un support automatique des en-têtes JSON, JSONP, CORS ainsi que des données formées en urlencoded/multipart-form. Les démos en ligne sont un bon début à regarder car ils utilisent tous Ajax.De plus, il n'y a pas de config XML ou de code-gen et votre service web C# 'write-once' fournit tous les points de terminaison JSON, XML, SOAP, JSV, CSV, HTML prêts à l'emploi, automatiquement avec des crochets pour brancher votre propre Content Types si nécessaire .
Il comprend également generic sync/async service clients fournissant une passerelle de communication client/serveur rapide et typée de bout en bout.
Ceci est l'exemple complet de tout le code nécessaire pour créer un service Web simple, qui est automatiquement sans aucune configuration, enregistrée et disponible sur tous les web data formats on pre-defined and custom REST-ful routes:
public class Hello : IReturn<HelloResponse>
{
public string Name { get; set; }
}
public class HelloResponse
{
public string Result { get; set; }
}
public class HelloService : Service
{
public object Get(Hello request)
{
return new HelloResponse { Result = "Hello, " + request.Name };
}
}
Au-dessus de service peut être appelé (sans construire étapes/code-gen) en C# avec la ligne ci-dessous:
HelloResponse response = client.Get(new Hello { Name = "World!" });
response.Result.Print(); // => Hello, World
Et en jQuery avec:
$.getJSON('hello/World!', function(r){
alert(r.Result);
});
Oh, eh bien, c'est une bonne chose alors. Je sais que SOAP n'est pas spécifique à MS, donc je ne comprenais pas vraiment pourquoi WCF avec SOAP nous lierait à Microsoft. Merci d'avoir éclairci ça! Et SOAP est utilisé par défaut lors de la création d'un service WCF, n'est-ce pas? – stiank81
Du nom "ASP .NET MVC" ressemble à quelque chose que vous utilisez généralement dans - bien - une application ASP .NET. Bien sûr, mon Silverlight est enveloppé dans ASP, mais est-ce que cela va aussi bien dans mon application Silverlight que dans une application ASP? – stiank81
Non, et oui;). Vous devez spécifier la (les) liaison (s) explicitement. Donc - vous devez choisir, par conséquent, le mot "par défaut" ne rentre pas ici, d'un autre côté, vous n'avez pas besoin de tourner une option magique quelque part, c'est votre choix. –