Сообщение фабрики слишком велико даже после установки 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 решена проблема.