我面临着Primefaces Ajax请求的问题,其中服务器没有响应更长的时间(比如说30秒)。在这种情况下,似乎Ajax请求正在运行超时(浏览器或网络堆栈超时)。从本质上讲,接下来会发生的是Ajax Animation(转向圈)无限期运行(即使响应在此时间之后到达,也不会被考虑)。
由于用户报告在移动使用期间特别面临这类问题,我开始进一步调查。为了重现,我使用fiddler并设置oSession [" response-trickle-delay"] =" 30000&#34 ;;
我尝试在Google和Stackoverflow上搜索,但大多数其他问题似乎与会话超时有关。在那里,建议的解决方案是在服务器上实现异常处理程序。但就我而言,没有会话超时。
我认为在所有来自请求超时的情况下,可怜的网络是原因。因此,我宁愿在客户端设置类似超时的东西,告诉应用程序停止等待响应返回。
我知道在jquery中可以使用以下代码完成这样的事情。是否有相应的Primefaces方法?
EnvelopeDocumentsResult docList = envelopesApi.ListDocuments(accountId, envelopeId);
for (int i = 0; i < docList.EnvelopeDocuments.Count; i++)
{
// GetDocument() API call returns a MemoryStream
MemoryStream docStream = (MemoryStream)envelopesApi.GetDocument(accountId, envelopeId, docList.EnvelopeDocuments[i].DocumentId);
// More code below to process the documents
谢谢!