C# 为REST对象生成契约

C# 为REST对象生成契约,c#,rest,windows-phone-7,code-contracts,C#,Rest,Windows Phone 7,Code Contracts,我刚开始休息,这听起来应该很简单。在.NET应用程序中,我可以创建对WCF服务的引用,并将为我生成所有可用类型的合同 现在我正在尝试使用WindowsPhone7应用程序中的REST服务。虽然我可以调用并得到正确的响应,但是有没有一种简单的方法来创建每个对象将被反序列化到的类 我正在使用RestSharp管理我的通话。在我看到的一些示例中,用户创建了自己的类,并手动生成xml。如果可能的话,我想避免这种情况 非常感谢 您必须生成响应数据将映射到的类(如果您在.NET 4上,则使用动态反序列化方案

我刚开始休息,这听起来应该很简单。在.NET应用程序中,我可以创建对WCF服务的引用,并将为我生成所有可用类型的合同

现在我正在尝试使用WindowsPhone7应用程序中的REST服务。虽然我可以调用并得到正确的响应,但是有没有一种简单的方法来创建每个对象将被反序列化到的类

我正在使用RestSharp管理我的通话。在我看到的一些示例中,用户创建了自己的类,并手动生成xml。如果可能的话,我想避免这种情况


非常感谢

您必须生成响应数据将映射到的类(如果您在.NET 4上,则使用动态反序列化方案),因为REST不像SOAP那样包含模式定义系统。在RestSharp。它能让你达到80%的目标。如果需要任何帮助,请发布到。

假设您的响应是XML,您可以将XML保存到文件中,然后对其调用xsd.exe以生成架构。在模式上调用xsd.exe,它将生成一个c#类文件,您可以对xml进行序列化和反序列化。以下是关于XSD.exe如何工作的文档:


我无法回答您的问题,但我将其发送给了《RestSharp》的作者,希望您能得到更好的指导。前几天,我与某人进行了一次非常有趣的讨论,他提出了一种方法,可以将这种方法自我描述,通过使用非常特定的rel值来向客户机标识将返回的确切类型。服务支持的一组rel需要由客户机清楚地记录和支持,但至少可以避免以这种方式将uri耦合到返回类型。不知道它是否仍然有效。那是很长一段时间了,谢谢,这绝对是最简单的方法。多有创意的解决方案啊。荣誉+1.