繁体   English   中英

带有查询Ajax的Web服务调用挂起

[英]Web service call with Query Ajax hangs

在开始发布大量代码之前,我想我可能可以更逻辑地解释我的情况。 我在以完全相同的方式填充的页面上有八个下拉菜单,除了它们使用的是不同的存储过程。 返回很多行的行(大约44000,但是每行平均只有5个字符)是行不通的。

我正在使用Web服务调用来获取数据。 使用JQuery ajax调用服务调用。

直接在SSMS中运行时,呼叫大约需要2秒钟才能运行。 当返回较少的记录时,一切正常。 因此,这不是代码逻辑的问题,而是记录数量的问题。

我知道用这么多记录填充任何内容不是一个好主意,但是只有在极少数情况下才返回此数量的记录,我宁愿不赶上并避免这种情况,我宁愿程序能够正确运行。

这些通话只是挂起是有原因的吗? 我有

<httpRuntime  executionTimeout="10000" maxRequestLength="3048576" />

在我看来,虽然这可能很慢,或者不是一个好主意,但它仍然有可能!

如果需要,我会发布我的代码。

有任何想法吗?

还不清楚为什么请求只是挂起。 您是否有某种错误消息? 如果不是,那么可能值得使用Firebug来查看服务器的响应,Ajax调用应该出现在“控制台”选项卡中(确保已将“ Show XMLHttpRequests”设置为打开),并且您应该能够向下钻取响应对于来自那里的失败请求。

看起来您已经设置了ASP.NET超时。 可能是这里有一个单独的IIS超时在起作用,但我只是在猜测。

我唯一要补充的是,如果您使用ASP.NET Web服务来获取数据,则在处理大型响应时,将响应序列化为XML所花费的时间可能很长,因此即使数据库查询在2秒钟内运行也是如此。可能会使服务器花费更长的时间才能通过Web服务返回该数据。 然后,浏览器反序列化将花费大量时间。

它挂起是因为客户端花费很长时间来填充选择。 这个问题说明了一种填充选择的有效方法最有效的方法是使用Jquery ajax填充选择

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM