【问题标题】:Setting Timeout value for Salesforce Web Service/API为 Salesforce Web 服务/API 设置超时值
【发布时间】:2010-12-24 19:15:36
【问题描述】:

Salesforce 的 API 是一种 Web 服务,您可以通过从 Salesforce 下载 WSDL 文件并将 WSDL 添加到您的 .NET 项目来进行设置。

但是我找不到设置超时值的地方。

通常在 .NET Web 服务中有一个 Timeout 属性(如described in this question),但在这种情况下我似乎找不到。

【问题讨论】:

  • 您是否使用 Visual Studio 或 wsdl.exe 为 Salesforce Web 服务生成代理类?
  • 是的,代理类在那里,我可以使用它们来调用 Web 服务。但据我所知,没有 Timeout 属性。
  • 您的代理类继承自哪个基类?通常 Timeout 属性来自 System.Web.Services.Protocols.WebClientProtocol
  • Proxy 继承自 SoapHttpClientProtocol,它是 WebClientProtocol 的后代。我在应该在的地方找到了 Timeout 属性。我不知道为什么我之前找不到它......

标签: asp.net web-services timeout salesforce


【解决方案1】:

将 WSDL 附加到您的 .net 应用程序后,您可以在代理类上配置 Timeout 属性,如下所示:

PartnerReference.SforceService partnerRef = new PartnerReference.SforceService();
partnerRef.Timeout = 30000;
partnerRef.UseDefaultCredentials = true;
partnerRef.Proxy = System.Net.WebRequest.DefaultWebProxy;
partnerRef.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;

PartnerReference.LoginResult loginResult = partnerRef.login("Name", "Password");

我很确定这也适用于 Enterprise WSDL...

【讨论】:

  • 谢谢,我确定我检查了 SforceService 对象,但之前找不到 Timeout 属性......但你是对的 - 它就在那里。
  • @kiwipom 我不明白在我的应用程序中添加这个。我没有超时属性:s
  • @raym0nd 我已经 3 年多没有做过任何 Salesforce 工作了!抱歉,您需要提出一个新问题...
  • 我在这里问了一个问题,但还没有回复。 stackoverflow.com/questions/16019359/…
猜你喜欢
  • 2010-10-17
  • 2011-12-30
  • 1970-01-01
  • 2013-01-14
  • 1970-01-01
  • 2011-12-30
  • 2012-10-25
  • 2011-01-10
  • 1970-01-01
相关资源
最近更新 更多