SharePoint クライアント管理オブジェクト モデルからタイムアウトを受け取りました。
Microsoft.SharePoint.Client.ServerException: The operation has timed out.
基本的に、100 件の更新をバッチ処理して、一度に送信しています。時間がかかっても問題ありませんが、タイムアウト例外は避けたいです。
クライアントコンテキストでタイムアウトを増やすために何百万もの方法を試しましたが、すべて成功しませんでした。リフレクションを使用して、クライアント コンテキストの executequery メソッドを呼び出すときに共有ポイントが何を行っているかを識別しようとしました。sharepoint は基本的に HttpWebRequest を作成して送信しています。
以下のコードで終了しましたが、まだ成功していません。
public static void SetInfinteTimeout(this ClientContext ctx)
{
int timeout = 10 * 60 * 1000;
ctx.RequestTimeout = timeout;
ctx.PendingRequest.RequestExecutor.RequestKeepAlive = false;
ctx.PendingRequest.RequestExecutor.WebRequest.KeepAlive = false;
ctx.PendingRequest.RequestExecutor.WebRequest.Timeout = timeout;
ctx.PendingRequest.RequestExecutor.WebRequest.ReadWriteTimeout = timeout;
System.Net.ServicePointManager.DefaultConnectionLimit = 200;
System.Net.ServicePointManager.MaxServicePointIdleTime = 2000;
System.Net.ServicePointManager.MaxServicePoints = 1000;
System.Net.ServicePointManager.SetTcpKeepAlive(false, 0, 0);
ServicePointManager.DnsRefreshTimeout = timeout; // 10 minutes
}
しかし、まだタイムアウト エラーが発生します。
私が見逃しているものは他にありますか?
どんな援助でも大歓迎です。