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

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

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

Любые ссылки или идеи о том, как предоставить ему данные контрактов и данных?

Darin Dimitrov была прекрасная идея использовать данные 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);
        }
    }
}

1 ответ

Решение

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

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

Другие вопросы по тегам