io sono parte del core team che mantiene ServiceStack - un'alternativa matura Open Source per WCF: moderno, in codice prima, model-driven, WCF sostituzione servizi web-quadro per la creazione di encouraging code and remote best-practices terse, SECCO , high-perfomance, scalable REST web services.
Ha il supporto automatico JSON, JSONP, CORS intestazioni e modulo-urlencoded/multipart-formdata. Le demo online sono un buon inizio da guardare dato che usano tutti Ajax.
Inoltre, non c'è nessuna configurazione XML, o il codice-gen e la tua 'write-once' servizio di C# web fornisce tutte le JSON, XML, SOAP, JSV, CSV, HTML endpoint abilitati out-of-the-box, automaticamente con ganci per collegare il proprio Content Types se necessario .
Include inoltre generic sync/async service clients che fornisce un gateway di comunicazione client/server veloce, tipizzato end-to-end.
Questa è l'esempio completo di tutto il codice necessario per creare un semplice servizio web, cioè automaticamente senza alcuna configurazione, registrato e messo a disposizione su tutto il 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 };
}
}
Sopra il servizio può essere chiamato (senza build-passi/code-gen) in C# con la linea di seguito:
HelloResponse response = client.Get(new Hello { Name = "World!" });
response.Result.Print(); // => Hello, World
E in jQuery con:
$.getJSON('hello/World!', function(r){
alert(r.Result);
});
Oh, beh, questa è una buona cosa allora. So che SOAP non è specifico per MS, quindi non ho davvero capito perché WCF con SOAP ci legherebbe a Microsoft. Grazie per chiarire questo! E SOAP viene utilizzato per impostazione predefinita durante la creazione di un servizio WCF, giusto? – stiank81
Dal nome "ASP .NET MVC" sembra qualcosa che in genere si utilizza in - bene - un'applicazione ASP .NET. Certo, il mio Silverlight è racchiuso in ASP, ma conterrà la mia app Silverlight altrettanto bene che per un'applicazione ASP? – stiank81
No e sì;). Devi specificare esplicitamente l'associazione/i. Quindi - devi scegliere, quindi, la parola "default" non va bene qui, d'altra parte, non devi girare nessuna opzione magica da qualche parte, è una tua scelta. –