我有權訪問SharePoint場上的lists.asmx,我通常會訪問它來更新列表項。 Lists.asmx在白天完全驗證我的客戶端,但在夜間失敗(由於系統維護)。我想確保我的客戶端不斷嘗試連接到服務(例如長達1小時)。你想在這裏建議什麼選擇?我們在這裏有什麼東西可用,或者我將不得不在客戶端編寫自己的代碼?如果我必須在客戶端編寫自己的重試代碼,該類的設計應該是什麼樣子?_vti_bin Lists.asmx;如果第一次登錄Web服務失敗會怎麼樣?
0
A
回答
2
開箱即用的解決方案是webservice的值。我使用Try/Catch塊在服務器端處理SharePoint webservice錯誤,並在第二次嘗試後以靜默方式中止或向用戶報告錯誤。例如,如果你有一個函數來從你使用的顯示名稱(在VB中)獲取List GUID。 。 。
Dim ws As New SPLists.Lists()
Try
ws.Credentials = GetCredentials()
ws.Timeout = 60000 '1 minute timout
doc = XDocument.Parse(ws.GetListCollection().OuterXml)
SPGetListID = (From x In doc.Elements.First.Elements _
Where x.Attribute("Title").Value.Equals(ListName) _
Select x.Attribute("ID").Value).FirstOrDefault
Catch timeout As TimeoutException
ws.Abort()
Catch other As Exception
ws.Abort() 'or use a timing loop to call this function again
End Try
。 。 。請求超時取消請求。如果webservice在你的情況下返回另一個錯誤,它可以在Catch Other部分中處理。
我不會將ws.Timeout值設置爲3600000,因爲Web服務器很可能會設置爲在小時運行之前強制超時。相反,您可以在Catch塊(或調用此函數的代碼中)中使用定時循環,並以設定的時間間隔再次進行web服務調用。在那個代碼中,你會想要限制對web服務例程的調用次數,以避免無限循環。
相關問題
- 1. MPMoviePlayerViewController,如果失敗會怎麼樣?
- 2. 如果新建失敗會怎麼樣?
- 3. Everyauth,第一次登錄工作,第二次登錄失敗
- 4. Acumatica web服務API登錄失敗
- 5. 春季安全第一次登錄失敗,第二次登錄成功
- 6. 如果觸發器失敗會怎麼樣?
- 7. 如果認證失敗需要重新登錄,請重試Web服務呼叫
- 8. 「調用Web服務將失敗......」再次
- 9. 第二次web服務調用失敗 - backbone.js
- 10. SQL Server集成服務登錄失敗
- 11. 在服務器上登錄失敗 - asp.net
- 12. vysper服務器登錄失敗
- 13. SQL服務器 - 用戶'登錄失敗。
- 14. Java Restful Web服務登錄憑據失敗
- 15. 路徑_vti_bin/Lists.asmx添加到ASP.NET MVC 2的Web應用程序
- 16. ActionScript:這怎麼會失敗?
- 17. AWS Lambda和DynamoDB流。如果執行失敗會怎樣?下次嘗試是否會處理相同的記錄?
- 18. 動態導航服務層 - 匿名登錄失敗登錄
- 19. 我怎麼能寫一個ASPX Web服務在C#這樣的PHP Web服務
- 20. Sharepoint Web服務Error Lists.asmx中的GetListItems
- 21. SharePoint 2010的沙盒使用Web服務(lists.asmx)
- 22. ASP.NET僅在第一次使用用戶名和密碼登錄到Web服務
- 23. Salesforce Web服務失敗
- 24. Web服務失敗,在IIS
- 25. GLKTextureLoader textureWithContentsOfFile:第一次失敗
- 26. 如果Ansible失敗了幾個服務器會發生什麼服務器
- 27. 如果CancelIo失敗怎麼辦?
- 28. 如果google.load失敗,該怎麼辦?
- 29. 如果mysql_query()失敗,該怎麼辦?
- 30. ASP.net - 第一次編譯失敗,'未知的服務器標記'
Web服務最有可能拋出錯誤。我會建議當檢測到錯誤時循環(我同意Toadmyster,絕對需要最大數量的重試)。 – 2011-01-14 20:14:39