Я использую Silverlight 5, .NET 4.5.1 и OpenRIA.Silverlight OpenRIA - дублированные запросы
Клиент silverlight вызывает долгосрочную операцию OpenRIA. Операция асинхронна. С клиентской стороны я вижу, что функция из кода вызывается только один раз. С другой стороны, с сервера IIS функция WCF вызывается несколько раз.
Что я зарегистрировал через Fiddler - операция была завершена с ошибкой. Она вызывается один раз, но с сообщением «ПРИМЕЧАНИЕ: Этот запрос был повторен после операции приема не удалось.»
Запрос:
GET http://localhost:11213/ClientBin/KEEP-Web-Services-PayrollListService.svc/binary/GetPayrollList?payrollListId=efb1df5d-993a-4c4b-9fe6-013561547632 HTTP/1.1
Accept: */*
Referer: http://localhost:11213/ClientBin/KEEP.xap
Accept-Language: pl
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: localhost:11213
DNT: 1
Connection: Keep-Alive
Cookie: .KEEP_ASPXAUTH_iPersonel=8673CF25C5650AE86CE77A22B9C9A9D20E7588A077E5EADFFE8F5090F08B48639C9F309B1720BC4AD0D4DE342F149D52234DD8C5F15C0B0CCAD5A074C91E8F14B74FC27D7740A91614DECE034A9F99186375ACEB887E610B32CEA5786BF5EA02D35F144BC49D1E4C254478385EEB4D7E8811959E5494D9D6E9F17D698FCBDC93
Ответ:
HTTP/1.1 504 Fiddler - Receive Failure
Date: Wed, 28 Oct 2015 13:06:41 GMT
Content-Type: text/html; charset=UTF-8
Connection: close
Cache-Control: no-cache, must-revalidate
Timestamp: 14:06:41.238
[Fiddler] ReadResponse() failed: The server did not return a complete response for this request. Server returned 0 bytes.
ситуация происходит в IISExpres и IIS 7.5, локально и удаленно.
UPDATE 1.
Я нашел причину, которая вызывает операцию повторить.
Не удалось выделить буфер управляемой памяти из 134217728 байт. Объем доступной памяти может быть низким.
Что я могу сделать, чтобы справиться с OpenRIA (бывшими wcf-ria-services)? Я не вижу никаких особых привязок к OpenRIA.
Вы можете разместить полный запрос, как представляется, в сыром секции в Fiddler? Я размышляю о каком-то http-заголовке вроде «retry-after» – mCasamento
@mCasamento - я редактировал свое сообщение. Нет заголовка, такого как «retry-after». – Bruniasty
Я вижу. Я видел ошибку 504 с 0 байтами более 1 М раз, но она всегда была ошибкой на стороне сервера. Просто включение «всех исключений CLR» в отладчике дает четкое указание об ошибке. Вы пробовали это? Как раз для того, чтобы повторить, вы внедрили длинный шаблон опроса (комета как), но запрос получил 504 раньше установленного таймаута 15 секунд, правильно? – mCasamento