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有任何影響。
你能發佈完整的請求?我在猜測一些http標題,比如「retry-after」 – mCasamento
@mCasamento - 我編輯了我的帖子。沒有像「retry-after」這樣的標題。 – Bruniasty
我明白了。我已經看到了504個錯誤,其中0個字節超過了1M次,但一直是服務器端錯誤。只要在調試器中打開「所有CLR異常」,就可以清楚地表明錯誤。你試過這個嗎? 回想一下,你已經實現了一個長輪詢模式(comet like),但是請求在配置的超時時間爲15s之前得到了一個504,對吧? – mCasamento