【问题标题】:Time Out issue in HTML5/jQuery applicationHTML5/jQuery 应用程序中的超时问题
【发布时间】:2015-10-16 20:22:27
【问题描述】:

我正在.NET 4.0 中开发一个 HTML5/jQuery 应用程序。该应用程序用于使用 WCF Rest 服务 (webHttp) 上传 excel 文件。上传的文件保存在 SQL Server 拖放区,然后由 SSIS 处理。

对于较小的文件(几 KB)没有问题。但是,当我尝试上传 大小超过 2 MB(最大 5 MB)的文件时,我看到了 jQuery 错误,即 无法上传文件。请重试

问题是文件正在成功保存在 SQL Drop Zone 中(我可以在那里看到它,这意味着 上传 成功)但是因为 ETL 过程是 花费大量时间(大约 5-10 分钟)jQuery 无需等待来自 ETL 的响应(30 秒内)就抛出错误。

这是我的 web.config 的样子:

        <webHttpBinding>     
             <binding name="webBinding" maxBufferSize="2147483647"
             maxBufferPoolSize="2147483647"
             maxReceivedMessageSize="2147483647"
             transferMode="Streamed"
             sendTimeout="00:05:00">
                    <readerQuotas  maxDepth="2147483647"
                     maxStringContentLength="2147483647"
                     maxArrayLength="2147483647"
                     maxBytesPerRead="2147483647"
                     maxNameTableCharCount="2147483647"/>
         </binding>
                   <security mode="Transport"></security>
       </webHttpBinding>

有没有办法解决这个问题,让我的应用程序等到它从 ETL(通过 WCF 服务)获得响应?

编辑

一直在对问题进行故障排除,并且无论我在上面的 web.config 文件中应用什么设置,看起来 30 秒后都会出现错误。

那么有没有办法增加这个超时时间来避免错误呢?

           $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "/DemoService.svc/FileUpload", timeout: 0, 
            data: obj,
            processData: false,
            contentType: false,
            success: function (response) {
    //
            },
            error: function (Result) {
                $("#error").html("Unable to upload. Please try again!!!").removeClass("hide");
            }
        });

【问题讨论】:

    标签: jquery sql wcf clustered-index webhttpbinding


    【解决方案1】:

    原来问题在于 SQL 连接超时,默认情况下为 30 秒,然后数据库表设计(集群)出现问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-09
      • 2022-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-10
      相关资源
      最近更新 更多