即使在为Assembly安装MaxMessageSize之后,Fabric消息也太大了

时间:2018-06-06 15:57:40

标签: c# azure azure-service-fabric service-fabric-remoting

在某些情况下,我们需要在两个Service Fabric服务之间传递大量数据。

让我们调用第一个服务监视器和第二个搜索。

Monitor实现了一个Actor,它定期调用Search并对结果做一些事情。

Monitor actor接口和Search remoting服务接口都具有以下属性:

[assembly: FabricTransportActorRemotingProvider(RemotingListener = RemotingListener.V2Listener, RemotingClient = RemotingClient.V2Client, MaxMessageSize = 1073741824)]

根据我对this questionthis API documentationthis discussion的理解,这应该有效。但是,它没有。

对搜索的调用有效,但监视在调用返回时抛出“Fabric Message太大”。

有人可以帮忙吗?我准备去找挖沟工作了。

1 个答案:

答案 0 :(得分:1)

感谢Hans Passant建议Remy在this link中提出的替代方案。

我最初驳回了这个建议,因为在第一次回应该建议后,有人表示他们正在使用Actors,因此答案无法使用。

原来,只需添加

<Section Name="TransportSettings">
    <Parameter Name="MaxMessageSize" Value="1073741824" />
</Section>

到Monitor Actor项目的Settings.xml文件解决了这个问题。