Dea*_*den 1 c# xml xsd web-services
我需要创建一个接受xml的.NET Web服务,使用它来查询数据库,然后返回xml.我已经获得了请求和响应的xsd文件.有人能指出我从哪里开始的正确方向或一个例子?
我之前没有使用过WCF,所以我更喜欢用一个简单的asmx文件来做这件事.我知道如何从数据库中获取数据,因此我丢失了xml和web服务位.
我试过谷歌搜索一段时间,但不知道从哪里开始.谢谢.
您遇到的问题是asmx和WCF都是代码优先的 Web服务技术.这意味着您通常从类开始,Web服务堆栈负责通过网络将您的类型公开为XML.
您从一个模式开始,这不是代码.因此,如果要使用asmx/wcf,则需要在代码中对模式进行建模.您可以通过使用xsd.exe(或WCF的svcutil.exe)从架构推断类结构来执行此操作.
或者,您可以根据模式定义手动建模您的类.
一旦有了类,就可以在代码中添加声明性属性(请参阅http://msdn.microsoft.com/en-us/library/83y7df3e.aspx以获取asmx,DataContract和DataMember for WCF).这些属性控制:
这种方法的问题在于,让你的XML对你的XSD架构进行验证会有点受到影响,因为你不能100%依赖XSD的类推断,另外如果你对它进行建模,你可能会错过一些细节.用手.
无论您采用哪种方式,都需要确保您的请求和响应类实例干净地序列化为XML,这将根据您给出的XSD架构进行验证.
另请参阅一个名为WSCF-Blue的框架,它允许您进行契约优先的 Web服务设计:http://wscfblue.codeplex.com/
祝您好运,如果您需要更多详细信息,请通过评论告诉我.