C# 从ASP.net Web服务返回和发送数据
目前,我们有许多web服务,当我们向它们发送数据时,我们将其作为一个字符串发送,该字符串是一个XML块,web服务解析并执行一些工作 类似地,当我们需要来自web服务的数据时,我们将返回一个字符串,该字符串也是客户端应用程序解析的XML块 这样做有缺点吗。我们还应该返回序列化为xml的类型吗C# 从ASP.net Web服务返回和发送数据,c#,asp.net,web-services,C#,Asp.net,Web Services,目前,我们有许多web服务,当我们向它们发送数据时,我们将其作为一个字符串发送,该字符串是一个XML块,web服务解析并执行一些工作 类似地,当我们需要来自web服务的数据时,我们将返回一个字符串,该字符串也是客户端应用程序解析的XML块 这样做有缺点吗。我们还应该返回序列化为xml的类型吗 JD在使用这种类型的Web服务时,我更喜欢序列化方法。但是,您可能会看到WCF,因为它比ASMX web服务提供了许多优势。在使用这种类型的web服务时,我更喜欢序列化方法。但是,您可能会看到WCF,因为它
JD在使用这种类型的Web服务时,我更喜欢序列化方法。但是,您可能会看到WCF,因为它比ASMX web服务提供了许多优势。在使用这种类型的web服务时,我更喜欢序列化方法。但是,您可能会看到WCF,因为它比ASMX web服务提供了许多优势。如果您将XML作为字符串发送并作为字符串返回,那么您也可以使用REST webservices的全部要点是XML序列化和反序列化(封送/解封送)由您负责,因此只需传递复杂类型,或将请求对象作为输入并返回响应对象即可
无需任何努力就可以得到强类型。如果将XML作为字符串发送并作为字符串返回,那么也可以使用REST webservices的全部要点是XML序列化和反序列化(封送/解封送)由您负责,因此只需传递复杂类型,或将请求对象作为输入并返回响应对象即可
而且,您可以不费吹灰之力就获得强大的打字能力。有几个缺点:
- 为了调用web服务,客户机需要知道作为参数传递的XML的结构以及返回的XML的结构,这样才有意义
- 您正在执行双重序列化/反序列化,这会影响性能
- 为了调用web服务,客户机需要知道作为参数传递的XML的结构以及返回的XML的结构,这样才有意义
- 您正在执行双重序列化/反序列化,这会影响性能
- 通过在参数模式中创建新版本的名称空间,可以轻松修订入站和出站参数。因此,您永远不必更改客户机调用的web方法(他们只需更改处理您的输入和输出的方式,无论如何都必须这样做)
- 有助于向后兼容-您发送1.0名称空间请求时,通常会得到1.0名称空间响应
- 您可以根据模式验证输入xml,并在对象类型中添加其他验证 一些缺点
- 与COM有相同的修订问题(您可以很容易地得到一个点,即您有许多不同版本的web服务参数浮动,什么时候可以完全消除它们?)
- 序列化可能会影响性能。对于我的web服务来说,这并不是一个巨大的影响,但您的web服务可能与我的web服务具有不同的吞吐量/需求李>
我以前为web服务做过xml输入/输出方法。当我这样做的时候,是为了尝试参数传递的“”模型。总的来说,它运行得相当好,使得实现和修改变得相当容易 我遵循的实现是为输入/输出xml创建模式,然后使用xsd生成用于序列化的类。因此,在我的web服务中,我只处理强类型对象,并将其序列化到xml中/从xml中序列化,以处理实际的请求和响应 一些专业人士 - 通过在参数模式中创建新版本的名称空间,可以轻松修订入站和出站参数。因此,您永远不必更改客户机调用的web方法(他们只需更改处理您的输入和输出的方式,无论如何都必须这样做)
- 有助于向后兼容-您发送1.0名称空间请求时,通常会得到1.0名称空间响应
- 您可以根据模式验证输入xml,并在对象类型中添加其他验证 一些缺点
- 与COM有相同的修订问题(您可以很容易地得到一个点,即您有许多不同版本的web服务参数浮动,什么时候可以完全消除它们?)
- 序列化可能会影响性能。对于我的web服务来说,这并不是一个巨大的影响,但您的web服务可能与我的web服务具有不同的吞吐量/需求李>
与基于SOAP的web服务不同,RESTful web API没有“官方”标准。这是因为REST是一种体系结构样式,而SOAP是一种协议。尽管REST本身不是一个标准,但大多数RESTful实现都使用HTTP、URI、JSON和XML等标准。
与基于SOAP的web服务不同,RESTful web API没有“官方”标准。这是因为REST是一种体系结构样式,而SOAP是一种协议。尽管REST本身不是一个标准,但大多数RESTful实现都使用HTTP、URI、JSON和XML等标准。
- 有几个缺点: