【问题标题】:Timeout error in ASP.NET mvcASP.NET mvc 中的超时错误
【发布时间】:2016-06-26 23:37:35
【问题描述】:

我遇到了一个奇怪的问题,我正在运行 Quartz 作业以从 2 个不同的 URL 获取数据,但是一个超时错误,另一个工作正常。我得到的内部错误异常说“操作已超时”。

更有趣的是,我在本地系统上没有收到此错误,在我的本地,两个作业都正确获取数据,但在服务器一上失败。

我还与我从中获取数据的网站的团队进行了交谈,他们告诉我他们对两个 url 的配置是相同的,所以他们最后没有问题。

我在尝试通过在线阅读解决此问题时对我的 webconfig 文件进行了一些更改,但还没有运气。

我在 web.config 的 appSettings 标签中添加了这一行

<add key="SqlCommandTimeOut" value="10000000" />

我的连接字符串如下所示:

<add name="xyzDBEntities" connectionString="metadata=res://*/xyzDB.csdl|res://*/xyzDBEntities.ssdl|res://*/xyzDBEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=SQL1234.xyzsite.com;initial catalog=xyzDB;User Id=xyzDB_admin;Password=xyzpassword;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

如果有人能帮我解决这个问题,那就太好了。如果需要更多详细信息,请告诉我。谢谢!

【问题讨论】:

    标签: c# asp.net-mvc web-config timeout


    【解决方案1】:

    通过将超时设置为 1 分钟来扩展 WebClient 类并覆盖 GetWebRequest() 解决了我的问题。

    public class CustomWebClient : WebClient{
        protected override WebRequest GetWebRequest(Uri address){
            HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
            request.Timeout = 60000; //1 minute timeout
            return request;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-19
      • 1970-01-01
      • 2013-07-13
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      相关资源
      最近更新 更多