Bhagyashri Sonar

Bhagyashri Sonar

  • NA
  • 37
  • 3.2k

existing connection was forcibly closed by the remote host

May 27 2019 9:20 AM
Hello all, 
please help i m receiving below error "An existing connection was forcibly closed by the remote host" ocasionally. Mostly inacase of Large items
 
 
My code is as below:
  1. public ListItemCollection GetListItemCollection(ref int p_startOffset, ref int p_endOffset,  
  2. SPClientList _list, ClientContext p_ClientContext,  
  3. ref int p_retry)//, string[] p_ViewFields)  
  4. {  
  5. CamlQuery f_caml = null;  
  6. ListItemCollection f_ListItems = null;  
  7. // int f_rowLimit = 100;  
  8. try  
  9. {  
  10. try  
  11. {  
  12. if (p_ClientContext.HasPendingRequest)  
  13. p_ClientContext.ExecuteQuery();  
  14. }  
  15. catch (Exception)  
  16. {  
  17. }  
  18. if (COMMON.StopProcess || COMMON.m_LastErrorCode == LastErrorCode.NetworkNotAvaliable ||  
  19. COMMON.m_LastErrorCode == LastErrorCode.NetConnectionDisconnected)  
  20. return null;  
  21. f_caml = new CamlQuery();  
  22.    
  23. if (p_startOffset == 1)  
  24. {  
  25. f_caml = CamlQuery.CreateAllItemsQuery(p_endOffset);  
  26. }  
  27. else  
  28. f_caml.ViewXml = "" +  
  29. "" + p_startOffset +  
  30. "" +  
  31. "" +  
  32. "" + p_endOffset +  
  33. ""  
  34. "" +  
  35. "";  
  36. f_ListItems = _list.GetItems(f_caml);  
  37. ///Loads the list item collection  
  38. p_ClientContext.Load(f_ListItems);  
  39. /// Load the properties of the ListItem  
  40. p_ClientContext.Load(f_ListItems, items => items.Include  
  41. (  
  42. /// Basic properties of the item  
  43. item => item.DisplayName,  
  44. item => item.ContentType,  
  45. item => item.Id,  
  46. item => item.FieldValuesAsText,  
  47. item => item.Folder,  
  48. item => item.Folder.ServerRelativeUrl,  
  49. item => item.FieldValuesAsHtml,  
  50. ///Version fields for the item  
  51. item => item.Versions,  
  52. item => item.Versions.Include(  
  53. ver => ver.VersionId,  
  54. ver => ver.VersionLabel,  
  55. ver => ver.Fields,  
  56. ver => ver.Created,  
  57. ver => ver.CreatedBy,  
  58. ver => ver.CreatedBy.Email),  
  59. item => item.File,  
  60. item => item.File.Versions,  
  61. item => item.File.MinorVersion,  
  62. item => item.File.MajorVersion,  
  63. item => item.File.CheckedOutByUser,  
  64. item => item.File.CheckedOutByUser.Email,  
  65. item => item.File.CheckInComment,  
  66. item => item.File.Versions.Include(  
  67. ver => ver.CheckInComment,  
  68. ver => ver.ID,  
  69. ver => ver.Length,  
  70. ver => ver.Url,  
  71. ver => ver.VersionLabel,  
  72. ver => ver.Created,  
  73. ver => ver.CreatedBy,  
  74. ver => ver.CreatedBy.Email),  
  75. ///Attachment fields for the item  
  76. item => item.AttachmentFiles,  
  77. item => item.AttachmentFiles.Include(  
  78. attach => attach.FileName,  
  79. attach => attach.FileNameAsPath,  
  80. attach => attach.ServerRelativePath,  
  81. attach => attach.ServerRelativeUrl),  
  82. /// Role assignment fields for the item  
  83. item => item.RoleAssignments,  
  84. item => item.RoleAssignments.Include  
  85. (a => a.RoleDefinitionBindings,  
  86. a => a.PrincipalId,  
  87. a => a.Member,  
  88. a => a.Member.Id,  
  89. a => a.Member.Title,  
  90. a => a.Member.LoginName)));  
  91. p_ClientContext.ExecuteQuery();  
  92. if (p_startOffset == 1)  
  93. {  
  94. int f_Count = f_ListItems.Count - 1;  
  95. p_startOffset = f_ListItems[0].Id;  
  96. p_endOffset = f_ListItems[f_Count].Id;  
  97. }  
  98. }  
  99. catch (Exception ex1)  
  100. {  
  101. COMMON.ExLogger.LogError(ClassName, "GetListItemCollection", ex1);  
  102. if (!m_ObjChkConnection.InternetConnectionCheck())  
  103. {  
  104. COMMON.m_LastErrorCode = LastErrorCode.NetworkNotAvaliable;  
  105. return null;  
  106. }  
  107. if (p_retry < 3)  
  108. {  
  109. Thread.Sleep(1000);  
  110. p_retry++;  
  111. COMMON.ExLogger.LogError(ClassName, "GetListItemCollection""Retry = " + p_retry +  
  112. " StartOffset = " + p_startOffset + " Endoffset = " + p_endOffset);  
  113. f_ListItems = GetListItemCollection(ref p_startOffset, ref p_endOffset, _list, p_ClientContext,  
  114. ref p_retry);//, p_ViewFields);  
  115. }  
  116. }  
  117. f_caml = null;  
  118. return f_ListItems;  
  119. } 

Answers (1)