繁体   English   中英

我们可以将数据集传递给Web服务方法吗? 如果是,那怎么样?

[英]can we pass dataset to a web service method? If yes , then how?

我们可以将数据集传递给Web服务方法吗? 如果是,那怎么样?

IIRC,“是”(只有一个DataSet参数),但也“你不应该”; 虽然.NET可能知道如何处理它,但Web服务意味着可以基于xml实体进行互操作; 一个DataSet (即使在序列化为xml时)与你可以获得的相差甚远。 IMO最好编写一些代表您的模型的基本类,并将这些类公开给Web服务,因为它们可以在xsd中为SOAP目的正确表示。

将DataSet传递给Web服务并不是一个好主意。 而是使用DataSet的ReadXML或WriteXML方法将数据传递给webservice并在webservice端读取它。

编辑 :如果可能的话,创建单独的类,如Marc Grawell所说,如果这对您不可行(这是一种罕见的情况),那么您可以使用上述方法传递数据,以获得比直接传递DataSet更好的方法。

Marc对数据集是正确的。 这可能是您可以做的最糟糕的设计原则之一。 但是,您不应该像表示模型那样构建数据交换。 您构造的SOAP消息应定义为消息。 您不是通过线路发送对象而是SOAP消息。 然后,您可以使用由该消息封装的一个对象模型,但不要将其作为对象本身发送。

基于工作消息允许您更多地控制安全标题和错误之类的事情。

http://msdn.microsoft.com/en-us/library/ms734675.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM