【发布时间】:2017-03-29 16:23:20
【问题描述】:
我有一个在特定方法上返回 DataSet 的库。我需要通过 WCF 公开这个 DataSet,客户端应用程序将使用它作为报告生成器的数据源(确切地说是 DevExpress XtraReport)。 DataSet 包含大约 58 个 DataTable,其中包括一个包含报表配置的表。
如何通过 wcf 将此数据集发送到客户端 (ASP.NET MVC)
当前代码
public ReponseData GetReportData (RequestData request){
var reportData = library.GetReportData(request.Param1, reqest.Param2) //returns DataSet
var respone = new ResponseData {
RequiredField = value, //requied for validation on the client
//When I put DataSet here my wcf just breaks entirely
//.. what to do here to send over the DataSet??
};
return response;
}
【问题讨论】:
-
什么是响应数据?你上面的代码是 WCF web 方法吗?您只需要在您的服务中有一个 DataSet 的返回类型。
-
为什么不使用 xml/json 代替(实际上 DataSet 可能会以 xml 格式传输)
-
@Wheels73 我在客户端收到错误消息:“底层连接意外关闭”。但没有任何问题(或在 WCF 上引发任何异常)。
-
在这种情况发生之前等待多长时间。由于服务和客户端之间必须发生大量的序列化,数据集的速度非常慢。如果您有 58 个数据表,您可能想尝试将其拆分为更小的请求。
-
哦,好吧..让我开始吧