【发布时间】:2017-08-24 17:48:35
【问题描述】:
我有一个托管 WebAPI 的 ServiceFabric 服务。在控制器上,我在请求中收到FileStream。我在那里阅读FileStream 没有问题。
然后,我希望这个 WebAPI 服务调用另一个 SF 服务(有状态) - 我们称之为 Service2,在参数中提供一个 MemoryStream。
try
{
await _service2Proxy.MyService2Method(myMemoryStream, otherParameters);
// Line after
}
catch
{
// Error handling
}
在Service2中
public Task MyService2Method(MemoryStream ms, string otherParam)
{
// Log line
// Do something
}
它适用于小于 3 MB 的文件。然而,对于大于 5 MB 的文件,调用不起作用。我们从不继续// Line after、// Error handling 或// Log line。
我确实在控制器程序集、WebAPI 服务程序集和 Service2 程序集上添加了[assembly: FabricTransportServiceRemotingProvider(MaxMessageSize = int.MaxValue)]。
Service2 接口具有[OperationContract] 和[ServiceContract] 属性。
我还尝试发送byte[] 而不是MemoryStream。问题还是一样。
【问题讨论】:
标签: c# stream azure-service-fabric