Совместно использовать данные Json между кодом C# на стороне сервера Asp.Net MVC 2 и сервером Asp.Net?

Я создал и люблю свое приложение Asp.Net MVC2. Это очень хорошее приложение DDD с классами модели предметной области, классами модели представления, репозиторием и методами действия Json для предоставления данных.

Мой коллега хочет поделиться моими данными со своим кодом C# на основе Asp.Net Forms. Он хочет получить через Интернет определение класса (например, Data Contract), а затем заполнить его моими результатами Json, эффективно используя что-то вроде удаленного репозитория.

Есть ссылки или идеи о том, как предоставить ему контракты на данные и данные?

У Дарина Димитрова была отличная идея использования данных JSON с использованием контрактов данных здесь. Просто интересно, можно ли использовать MVC в качестве источника для этих элементов, а затем позволить ему создавать объекты на своей стороне, заполненные данными с моей стороны.

Ключ к этому вопросу заключается в том, как отправить ему мои классы данных, а затем отправить ему мои данные.

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

person Zachary Scott    schedule 08.06.2010    source источник


Ответы (1)


Напишите службу OData. Формат — JSON, но инструменты для его простого использования — из многих языков — уже написаны для вас.

Самое приятное в этом то, что ваши данные теперь могут использоваться не только вашим JS и приложением ASP.NET вашего друга, но и Excel, PHP и т. д.

person Craig Stuntz    schedule 08.06.2010