.NET Web 服务 (asmx) 超时问题

2024-05-05

我正在连接到供应商提供的 Web ASMX 服务并通过线路发送一组数据。当您向项目添加服务引用时,我的第一次尝试遇到了 Visual Studio 默认在 app.config 文件中引发的 1 分钟超时。我把它增加到 10 分钟,又是一次暂停。 1小时,另一个超时:

Error: System.TimeoutException: The request channel timed out while waiting for
a reply after 00:59:59.6874880. Increase the timeout value passed to the call to
 Request or increase the SendTimeout value on the Binding. The time allotted to
this operation may have been a portion of a longer timeout. ---> System.TimeoutE
xception: The HTTP request to 'http://servername/servicename.asmx' has exceeded the allotted timeout of 01:00:00. The time allotted to this
operation may have been a portion of a longer timeout. ---> System.Net.WebExcept
ion: The operation has timed out
   at System.Net.HttpWebRequest.GetResponse() [... lengthly stacktrace follows]

我联系了供应商。他们确认电话可能需要一个多小时(别问,他们是我存在的祸根。)为了安全起见,我将超时时间增加到 10 小时。但是,Web 服务调用继续超时 1 小时。相关的 app.config 部分现在如下所示:

   <basicHttpBinding>
    <binding name="BindingName" closeTimeout="10:00:00"
                    openTimeout="10:00:00" receiveTimeout="10:00:00" sendTimeout="10:00:00"
                    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
     <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="2147483647"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
     <security mode="None">
      <transport clientCredentialType="None" proxyCredentialType="None" realm="" />
      <message clientCredentialType="UserName" algorithmSuite="Default" />
     </security>
    </binding>
   </basicHttpBinding>

很荒谬,但无论如何,超时仍然在 1 小时开始。不幸的是,每个更改都至少需要额外一个小时来测试。我是否遇到了一些内部限制 - 另一个要在某处更改的超时设置?对这些设置的所有更改up to一个小时就达到了预期的效果。

感谢您的任何帮助,您可以提供!


首先: 参见 Steven Cheng[MSFT] 回复here http://www.dotnetmonster.com/Uwe/Forum.aspx/asp-net-web-services/5202/Web-Method-TimeOut关于超时。您可以为 httpRuntime 设置执行超时。之后他说了一些有趣的话,那就是“此外,请确保您已将‘compilation debug="false"’设置为使超时正常工作"

除了他们的末端可能出现严重错误(或者返回的数据如此庞大/我不会判断 - 可能是一个很好的理由)这一事实之外,您是否尝试过异步调用他们的操作?结果一样吗?我猜需要一个小时

YourVendor.WebService ws = new YourVendor.WebService();
ws.LongRunningOperationCompleted += new YourVendor.LongRunningOperationEventHandler(ws_LongRunningOperationCompleted);

ws.LongRunningOperationAsync();

// Implement the ws_LongRunningOperationCompleted handler (stub will auto generate)

完成的事件处理程序将有一个特定的事件参数参数,其中将包含结果,对于事件参数 e,e.Result 应该在完成时包含您需要的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET Web 服务 (asmx) 超时问题 的相关文章

随机推荐

  • Kotlin 高阶函数参数:传递子类型

    我在 Kotlin 中遇到了函数参数的问题 我将借助一些代码来解释这个问题 我创建了一个类层次结构 当我将子类型传递给需要父类型的函数时 没有问题 open class A val i Int class B val j Int A j f
  • 格式化小数 2 位 - 没有尾随零

    格式 格式化我的数字 但它会将我的小数点向上舍入 我需要保留我的小数 有这样的格式吗 谢谢 广告尽可能多 根据需要 To always显示小数位 使用0代替
  • 使用服务器发送事件进行双向客户端-服务器通信(而不是 WebSocket)的缺点

    最近 我发现服务器发送事件是 WebSocket 的一种更简单的替代方案 用于从服务器进行推送 大多数比较它们的地方 例如here https stackoverflow com questions 5195452 websockets v
  • Glide:如何使用 Glide v4 调整 gif 大小并将其另存为文件?

    我想调整 gif 文件的大小并保存它 我尝试使用一些建议的方法 但这些方法给出了错误 后来我知道有些方法在 Glide 中已被弃用v4 byte bytes Glide with context asGif load url toBytes
  • 如何在angularjs中读取pdf流

    I got the following PDF stream from a server 如何在 AngularJS 中读取这个流 我尝试使用以下代码在新窗口中将其作为 PDF 文件打开 success function data wind
  • sql 查询查找匹配属性

    我目前正在做一个类似易货系统的系统 情况是这样的 客户 Jasmine 要求输入 NAME 属性 她需要寻找的内容 并输入 SEEK 属性 她需要寻找的内容 为了获得结果 SEEK 属性必须与其他客户的 Name 属性匹配 其他客户的 SE
  • 推断类型和动态类型

    在编程语言中 推断类型和动态类型有什么区别 我了解动态类型 但不明白动态类型与推断类型有何不同以及有何不同 有人可以用一些例子来解释一下吗 推断类型 在编译时设置一次 实际上 推断的部分只是节省时间 因为如果编译器可以计算出类型名 则您不必
  • Android 自定义对话框中的图标

    有没有一种方法可以在不使用 AlertDialog 方法的情况下在自定义对话框上设置图标 对话框有标题 但缺少漂亮的分隔线和设置图标的功能 但肯定有一种方法可以在不使用 AlertDialog 的情况下获得两者 您可以使用以下代码添加图标
  • OnSharedPreferenceChangeListener 未调用 #2

    好吧 我开始从 Google 的 android 实现这个可怕的代码 未调用 OnSharedPreferenceChangeListener 这是我的代码 你能建议一下吗 类定义 private SharedPreferences sPr
  • Soundcloud自定义播放器动态添加和播放歌曲

    我在用soundcloud自定义播放器 https github com soundcloud soundcloud custom player创建一个可以播放所有歌曲的播放器 我的网站 当我只放置任何曲目或帖子的静态网址时 这效果非常好
  • NotificationCompat.Builder 不接受第二个参数

    由于某种原因我的NotificationCompat Builder不会接受第二个参数 我不知道如何解决它 我看到了一些其他答案 但主要问题出在 gradle 版本中 但我的答案是最新的 如下所示 if Build VERSION SDK
  • 如何在中线和文字之间留出空间?

    所以我想做的是在中间行和中间文本之间留出空间 这是我的小提琴 https jsfiddle net abqy4w1f https jsfiddle net abqy4w1f 所以我希望左侧和右侧距圆 10px 有什么建议吗 outter h
  • ASP.NET 中的 Request.Headers["Header-Name"] 区分大小写吗?

    Is Request Headers Header Name 在 ASP NET 中区分大小写吗 如果是 如果我不确定客户端会在什么情况下发送它 我应该如何获取某个标头 例如 X requested with 不 它们不区分大小写RFC26
  • 是否可以实现异步跨域文件上传?

    有可能的 参见下文 首先我用这张图来解释一下异步文件上传可以实现 对不起 我已经关闭了我的一个域 该图像现在消失了 不过 这确实是一个很好的图像 这是在我发现 Stack Overflow 可以通过 Imgur 上传图像之前 正如您所看到的
  • TS2322 类型“string”不可分配给类型““left”| “中心”| “对”|不明确的'

    我是打字稿新手 我使用 ant design 4 0 版 我想向我的列添加对齐属性 但在表的 columns 属性中它显示此错误 我知道我应该将变量的类型与 AlignType 相匹配 但我不知道具体该怎么做 提前谢谢你们了 interfa
  • vscode 在哪里使用 lldb 可执行文件?

    我在 vscode 中调试 rust 时遇到困难 它无法评估任何涉及函数的表达式 我注意到我没有安装 lldb Ubuntu 20 04 但调试器仍在运行 在哪里可以找到 lldb 可执行文件 我可以改变路径吗 None
  • 使用 CSS3 计算值

    CSS3有没有办法实现这一点 height 100 110px 我的背景 你不能用纯 CSS 来计算它 正如 Litek 提到的 它不适用于所有浏览器 但是有一种组织方法可以处理这个问题 但是您需要将元素包装在另一个浏览器中 body he
  • iOS5 上的 UIImagePickerController 内存泄漏

    我在 iOS5 和 XCode4 2 上开发的应用程序中使用 UIImagePickerController 出现内存泄漏 我不知道为什么会出现这种泄漏 您能给我答案吗 和我的代码 void createImagePicker picker
  • Node.js 主机名/IP 与证书的替代名称不匹配

    我正在编写一些节点代码来进行 Facebook 的服务器端登录 我已经非常接近让它完全发挥作用了 但是我在请求 auth code 时遇到了麻烦 我认为这可能与 Facebook 应用程序设置有关Site URL但我尝试过的都没有成功 我使
  • .NET Web 服务 (asmx) 超时问题

    我正在连接到供应商提供的 Web ASMX 服务并通过线路发送一组数据 当您向项目添加服务引用时 我的第一次尝试遇到了 Visual Studio 默认在 app config 文件中引发的 1 分钟超时 我把它增加到 10 分钟 又是一次