Pregunta

Creé y amo mi aplicación ASP.NET MVC2. Es una aplicación DDD muy buena con clases de modelos de dominio, ver clases de modelos, un repositorio y métodos de acción JSON para exponer datos.

Mi compañero de trabajo quiere compartir mis datos con su código C# basado en formularios ASP.NET. Quiere pasar por Internet una definición de clase (como un contrato de datos), luego llenarla con mis resultados de JSON, utilizando efectivamente algo como un repositorio remoto.

¿Algún enlace o idea sobre cómo proporcionarle contratos de datos y datos?

Darin Dimitrov Tuve una excelente idea de consumir datos JSON utilizando contratos de datos aquí. Solo me pregunto si es posible usar MVC como fuente de estos elementos, luego déjelo crear los objetos de su lado, llenos de datos de mi lado.

La clave de esta pregunta es cómo enviarle mis clases de datos y luego enviarle mis datos.

class Program
{
    [DataContract]
    class Person
    {
        [DataMember(Name = "name")]
        public string Name { get; set; }
        [DataMember(Name = "surname")]
        public string Surname { get; set; }
        [DataMember(Name="age")]
        public int Age { get; set; }
    }

    static void Main(string[] args)
    {
        var json = @"{""name"" : ""michael"", ""surname"" : ""brown"", ""age"" : ""35""}";

        var serializer = new DataContractJsonSerializer(typeof(Person));
        using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(json)))
        {
            var person = (Person)serializer.ReadObject(stream);
            Console.WriteLine("Name : {0}, Surname : {1}, Age : {2}", 
                person.Name, person.Surname, person.Age);
        }
    }
}
¿Fue útil?

Solución

Escribe un servicio Odata. El formato es JSON, pero las herramientas para consumirlo fácilmente, desde muchos Idiomas - ya están escritos para ti.

Lo bueno de esto es que sus datos ahora no solo son consumibles por la aplicación ASP.NET de su amigo, es consumible por Excel, PHP, etc.

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