Сообщение фабрики слишком велико даже после установки MaxMessageSize для сборки

В некоторых случаях нам требуется передача большого количества данных между двумя службами Service Fabric.

Давайте назовем первый сервис Monitor и второй Search.

Monitor реализует Actor, который периодически вызывает Search и что-то делает с результатами.

И интерфейс актера монитора, и интерфейс службы удаленного поиска имеют следующий атрибут:

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

Исходя из того, что я понимаю, основываясь на этом вопросе, этой документации API и этой дискуссии, это должно работать. Это не так, однако.

Вызов с поиском работает, но Мониторинг выдает ответный вызов с сообщением "Слишком большое сообщение фабрики".

Кто-нибудь может помочь? Я собираюсь устроиться на работу в качестве копателя канав.

1 ответ

Решение

Спасибо Гансу Пассанту за предложение альтернативы, предложенной Реми в этой ссылке.

Я изначально отклонил это предложение из-за того факта, что сразу после первого ответа на предложение человек указал, что они используют актеров, и поэтому ответ был непригодным.

Оказывается, просто добавив

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

в файле Settings.xml проекта Monitor Actor решена проблема.

Другие вопросы по тегам