我收到来自 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
}
但我仍然收到超时错误!
请问还有什么我想念的吗?
任何帮助将不胜感激。