Pregunta

¿Cuál es la mejor manera de crear un servicio web JSON? Tenemos otro equipo que utiliza Java e insisten en que todas las comunicaciones se realicen utilizando JSON. Preferiría usar WCF en lugar de un marco de terceros.

Encontré este blog: http://www.west-wind.com /weblog/posts/164419.aspx , y sugiere que la implementación de Microsoft es defectuosa con la basura específica de M $.

¿Fue útil?

Solución 4

Terminé usando JayRock . Su fantástica pieza de tecnología, simplemente funciona. No obtienes ninguna NullReferenceExceptions de esta mierda WCF si no lo configuras correctamente.

Otros consejos

Si usa WCF y el Framework 3.5, no podría ser más fácil. Cuando marque sus OperationContracts con el atributo WebGet, simplemente configure el parámetro ResponseFormat en WebMessageFormat.Json. Cuando se accede RESTfulmente al servicio, se devolverán los datos usando el DataContractJsonSerializer.

Es realmente útil marcar los POCO que desea serializar como JSON como [DataContract] y marcar cada miembro serializable como [DataMember]. De lo contrario, terminas con JSON funky, como Rick señaló en su publicación del blog.

Mantengo una alternativa de código abierto madura para WCF en ServiceStack , un modelo moderno, primero en código, marco de servicios web de reemplazo WCF código alentador y mejores prácticas remotas para crear terse, DRY, servicios web REST escalables de alto rendimiento .

Incluye el JSON Serializer más rápido de .NET y tiene soporte automático JSON, JSONP , CORS así como los encabezados de forma urlencoded / multipart-formdata. Las demostraciones en línea son un buen comienzo, ya que todas usan Ajax.

Además, no hay configuración XML o código-gen y su servicio web C # de "una sola escritura" proporciona todo puntos finales JSON, XML, SOAP, JSV, CSV, HTML habilitados fuera de la caja, automáticamente con ganchos para conectar sus propios Tipos de contenido si es necesario.

También incluye clientes de servicio sync / async genéricos que proporcionan un rápido , puerta de enlace de comunicación cliente / servidor de extremo a extremo.

Este es el ejemplo completo de todo el código necesario para crear un servicio web simple, que es automáticamente sin ninguna configuración, registrado y disponible en todo el formatos de datos web en rutas REST-ful predefinidas y personalizadas :

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

El servicio anterior se puede llamar (sin ningún build-steps / code-gen) en C # con la siguiente línea:

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

Y en jQuery con:

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

¿Cuál es la mejor manera de crear un servicio web JSON? Tenemos otro   Equipo que está utilizando Java e insisten en tener toda la comunicación.   hecho usando JSON. Preferiría usar WCF en lugar de terceros.   marco.

Este es un tutorial fácil de seguir, que lo guía a través del proceso de configuración de su primer servicio WCF y luego lo vincula a una base de datos de SQL Server.

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

Utiliza la querida base de datos SQL Server Northwind de Microsoft, y muestra cómo escribir un servicio web JSON WCF simple para leer y escribir sus datos.

ingrese la descripci&oacute;n de la imagen aqu&iacute;

Ah, y luego muestra cómo consumir los datos JSON utilizando JavaScript o una aplicación iOS.

¡Buena suerte!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top