【问题标题】:Returning wcf stream from service fabric actors/services从服务结构参与者/服务返回 wcf 流
【发布时间】:2016-06-17 06:12:18
【问题描述】:

我希望这是一个简单的问题。

我想创建一个服务集群来处理涉及数千个字段的动态报告。据我所知,我不能使用流作为来自可靠参与者或服务的返回类型。我唯一的选择是返回序列化字节数组还是将结果写入别处并指示客户端查询该资源,还是我遗漏了什么?

谢谢

【问题讨论】:

    标签: wcf azure-service-fabric


    【解决方案1】:

    这取决于您在服务中使用的通信堆栈。服务本身与通信协议无关。服务的实现可以插入任何通信堆栈:Web API、WCF、套接字,都没有关系。

    Reliable Actors 是服务的特殊实现,作为服务实现,它指定了一个通信堆栈。在该通信堆栈中,请求/响应负载必须是 DataContract 可序列化的,因此您不能在那里返回流。

    否则,如果您使用 WCF 与您的服务进行通信,那么您会受到 WCF 功能的限制。

    如果您正在使用服务远程处理(您的服务实现 IService 并且您使用 ServiceProxy 远程调用它的方法),那么您不能为服务方法返回流。您需要返回 DataContract 可序列化的内容。

    如果您在服务中使用 Web API,则可以在控制器操作方法中获取 HTTP 响应流并将数据流式传输回来,而无需为其分配字节缓冲区。

    或者您可以实现自己的通信协议并做任何您想做的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-12
      • 2018-04-11
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 2017-07-09
      • 2017-03-12
      • 1970-01-01
      相关资源
      最近更新 更多