【问题标题】:Fabric Message is too large even after setting MaxMessageSize for Assembly即使在为 Assembly 设置 MaxMessageSize 之后,Fabric 消息也太大了
【发布时间】:2023-04-10 14:39:01
【问题描述】:

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

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

Monitor 实现了一个 Actor,它定期调用 Search 并对结果进行处理。

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

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

根据我对this questionthis API documentationthis discussion 的理解,这应该可行。然而,事实并非如此。

对 Search 的调用有效,但 Monitoring 在调用返回时抛出“Fabric Message is too large”。

有人可以帮忙吗?我要去找份挖沟的工作了。

【问题讨论】:

  • github issue 中有详细讨论。请注意 Remy 是如何发现缺少该属性的,并提出了解决他的问题的替代方案。
  • @HansPassant 谢谢。你的建议让我回去重新评估尝试一些我最初因第一次回应而被解雇的事情。请参阅下面的答案。

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


【解决方案1】:

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

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

原来,只是添加

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

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

【讨论】:

    猜你喜欢
    • 2020-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    相关资源
    最近更新 更多