Наличие службы WCF (размещенной в IIS 6.0), которая принимает XML-канал от SAP с потенциально десятками тысяч (или более) записей для обработки.
[OperationContract]
[FaultContractAttribute(typeof (ArgumentException))]
void ProcessSapRoles(XElement SapData);
Меня беспокоит ограничение размеров параметров.Из других статей SO я читаю, что увеличение значения maxRequestLength
на httpRuntime
в web.config поможет в этом (я уверен, что мне также придется увеличить тайм-аут отправки).Я также читал, что использование NetTcpBinding поможет, хотя я не знаю ограничений для его использования или настройки.
Полагаю, я мог бы сделать так, чтобы вызывающий абонент совершал 100 000 вызовов, по одному на запись, ноЯ думаю, что влияние на производительность будет значительным.Кроме того, с другой стороны, я должен запросить существующие записи, чтобы увидеть, обновляю ли я или добавляю записи, а затем отправить обновления обратно в базу данных.Создание 100 000 наборов данных для 100 000 отдельных запросов по одной записи также кажется утомительным.
До WCF мы использовали приемники сжатия в цепочке удаленного взаимодействия, что значительно повысило производительность (отправка наших самых больших наборов данных осуществлялась по тайм-ауту веб-страницы через 20 минут; после добавления приемника сжатия,наборы данных пересекали провод примерно через 20 секунд) (и заказчик отвечал за создание таких наборов данных, мы не могли их контролировать: P).
Как лучше всего обрабатывать передачу потенциально 100 000 записей, и существует ли какая-либо эквивалентная концепция приемника сжатия для WCF?
TIA!Джеймс