如何增加请求超时时间?

Dan*_*iel 1 facebook-c#-sdk

如何增加Get或GetTaskAsync的超时时间?(使用Facebook C#SDK 6)

好像他们有15秒的超时时间。

pra*_*bir 5

使用FacebookClient.HttpWebRequestFactory。由于它是从智能感知中隐藏的,因此根据您的设置,您可能无法在VS中看到它。

    /// <summary>
    /// Http web request factory.
    /// </summary>
    [EditorBrowsable(EditorBrowsableState.Never)]
    public virtual Func<Uri, HttpWebRequestWrapper> HttpWebRequestFactory
    {
        get; set;
    }
Run Code Online (Sandbox Code Playgroud)

您可能想要做这样的事情。

FacebookClient.HttpWebRequestFactory = url => {
  var request = new HttpWebRequestWrapper((HttpWebRequest)WebRequest.Create(url));
  request.Timeout = .....;
  return request;
};
Run Code Online (Sandbox Code Playgroud)

这至少需要v6。

对于v5,您需要覆盖受保护的方法。

    /// <summary>
    /// Creates the http web request.
    /// </summary>
    /// <param name="url">The url of the http web request.</param>
    /// <returns>The http helper.</returns>
    [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
    protected virtual HttpWebRequestWrapper CreateHttpWebRequest(Uri url);
Run Code Online (Sandbox Code Playgroud)