Domanda

Ho creato e l'amore la mia applicazione Asp.Net MVC2. Si tratta di un applicazione DDD molto bello con le classi modello di dominio, corsi di vista del modello, un repository, e metodi d'azione JSON per esporre i dati.

Il mio collega vuole condividere i miei dati con le sue forme Asp.Net basate codice C #. Vuole tirare attraverso Internet una definizione di classe (come un contratto di dati), quindi riempirlo con i miei risultati JSON, in modo efficace utilizzando qualcosa di simile a un repository remoto.

Tutti i link o idee su come fornire lui con contratti dati e dati?

Darin Dimitrov ha una chiara idea di consumare dati JSON utilizzando contratti dati here . Basta chiedersi se è possibile usare MVC come sorgente per questi elementi, poi lasciarlo creare gli oggetti dalla sua parte, riempito con i dati dal mio lato.

La chiave di questo problema è come mandarlo mie classi di dati, poi lo inviare i miei dati.

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);
        }
    }
}
È stato utile?

Soluzione

Scrivi un servizio OData. Il formato è JSON, ma gli strumenti per consumare facilmente - da molti lingue - sono già scritto per te .

La cosa bella di questo è che i dati sono ora di consumo non solo dal vostro JS e del tuo amico ASP.NET app, è consumabile da Excel, PHP, ecc.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top