2015-11-02 1 views
0

Я использую 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.

+0

Вы можете разместить полный запрос, как представляется, в сыром секции в Fiddler? Я размышляю о каком-то http-заголовке вроде «retry-after» – mCasamento

+0

@mCasamento - я редактировал свое сообщение. Нет заголовка, такого как «retry-after». – Bruniasty

+0

Я вижу. Я видел ошибку 504 с 0 байтами более 1 М раз, но она всегда была ошибкой на стороне сервера. Просто включение «всех исключений CLR» в отладчике дает четкое указание об ошибке. Вы пробовали это? Как раз для того, чтобы повторить, вы внедрили длинный шаблон опроса (комета как), но запрос получил 504 раньше установленного таймаута 15 секунд, правильно? – mCasamento

ответ

1

Проблема была в IIS в 32-разрядной версии. Проблема с 64-битной версией.

P.S. Visual Studio имеет возможность использовать IIS-Express в 64-разрядной версии. Кроме того, можно добавить в реестр:

reg add HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\WebProjects /v Use64BitIISExpress /t REG_DWORD /d 1 

12,0 - Visual Studio 2013

 Смежные вопросы

  • Нет связанных вопросов^_^