Привет! Я написал клиент-серверное приложение C # с использованием коммуникационной библиотеки Zeroc Ice (v3.4.2).
Я передаю последовательность объектов с сервера, которые затем отображаются на клиенте втабличный формат.Достаточно просто.
Я определил следующие типы срезов
enum DrawType { All, Instant, Raffle };
struct TicketSoldSummary {
int scheduleId;
DrawType dType;
string drawName;
long startDate;
long endDate;
string winningNumbers;
int numTicket;
string status;
};
sequence<TicketSoldSummary> TicketSoldSummaryList;
interface IReportManager {
[..]
TicketSoldSummaryList getTicketSoldSummary(long startTime, long endTime);
};
Когда я вызываю этот метод, он обычно работает нормально, но иногда (примерно в 25% случаев) вызывающая сторона получает Ice ::MemoryLimitException.Обычно у нас работает 2-3 клиента одновременно.
Я искал в Интернете ответы, и мне сказали увеличить Ice.MessageSizeMax, что я и сделал.Я увеличил MessageSizeMax до 2 000 000 Кб, но это не имело никакого значения, я только что провел тест с 31 000 записей (примерно 1,8 мегабайта данных) и все еще получаю Ice.MemoryLimitException.1.8 Мег не очень большой!
Я делаю что-то не так или есть ошибка в Zeroc Ice?
Большое спасибо всем, кто может предложить некоторую помощь.