代码之家  ›  专栏  ›  技术社区  ›  Zachary Scott

在ASP.NET MVC 2和ASP.NET服务器端C代码之间共享JSON数据?

  •  0
  • Zachary Scott  · 技术社区  · 14 年前

    我创建并喜欢我的ASP.NET MVC2应用程序。它是一个非常好的DDD应用程序,具有域模型类、视图模型类、存储库和用于公开数据的JSON操作方法。

    我的同事想与他的基于ASP.NET表单的C代码共享我的数据。他想在Internet上实现一个类定义(比如数据契约),然后用我的JSON结果填充它,有效地使用类似于远程存储库的东西。

    关于如何向他提供数据合同和数据的链接或想法?

    Darin Dimitrov 对使用数据契约使用JSON数据有很好的想法 here . 只是想知道是否可以使用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 回复  |  直到 14 年前
        1
  •  1
  •   Craig Stuntz    14 年前

    编写OData服务。格式是JSON,但是工具很容易使用它——从 许多的 语言—— are already written for you .

    这方面的好处是,您的数据现在不仅可以被您的JS和您朋友的ASP.NET应用程序使用,而且可以被Excel、PHP等使用。