Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在MVC5/EF 6中使用codefirststoredprocs时出现超时问题。读取存储过程dbo时出错。[…]:超时已过期_Asp.net Mvc_Entity Framework_Timeout_Cfstoredproc - Fatal编程技术网

Asp.net mvc 在MVC5/EF 6中使用codefirststoredprocs时出现超时问题。读取存储过程dbo时出错。[…]:超时已过期

Asp.net mvc 在MVC5/EF 6中使用codefirststoredprocs时出现超时问题。读取存储过程dbo时出错。[…]:超时已过期,asp.net-mvc,entity-framework,timeout,cfstoredproc,Asp.net Mvc,Entity Framework,Timeout,Cfstoredproc,为了一次处理近70K条记录,我在应用程序中使用了codefriststoredprocs 2.5.0。由于记录很少,一切正常,但对于大数据集,我收到“等待操作超时”异常。 我尝试按照以下方式将默认命令超时值从30秒修改为600秒 //Previous approach ((System.Data.Entity.Infrastructure.IObjectContextAdapter)this.db).ObjectContext.CommandTimeout = 600; //New ap

为了一次处理近70K条记录,我在应用程序中使用了codefriststoredprocs 2.5.0。由于记录很少,一切正常,但对于大数据集,我收到“等待操作超时”异常。 我尝试按照以下方式将默认命令超时值从30秒修改为600秒

//Previous approach
   ((System.Data.Entity.Infrastructure.IObjectContextAdapter)this.db).ObjectContext.CommandTimeout = 600;

//New approach for EF 6
this.db.Database.CommandTimeout = 600;
但30秒后仍会收到连接超时消息。我还修改了web.config,将连接超时值设置为600秒(我知道这与命令超时值不同,但试一下)。 我觉得问题在于codefirststoredprocs库在执行存储过程时将命令超时值更改为默认值。是否有任何方法可以解决此问题,或者我应该使用另一种方法在应用程序中使用存储过程


提前谢谢。

我换成EF6时遇到了同样的问题

您可能将CommandTimeout设置在错误的位置。尝试在创建上下文的位置设置CommandTimeout,如下所示:

var context = new Entities();
context.CommandTimeout = 600;

还要检查CommandTimeout是否在创建上下文后使用您的方法更改。如果是这样,那么可能还有其他问题

首先,我要感谢
CodeFirstStoredProcs
团队为解决此问题所做的努力和协作

我猜,如前所述,在
CodeFirstStoredProcs
库中,命令超时值可能默认为30秒

在新版本(2.6版)中,他们在
CallStoredProc
方法中添加了“command timeout”参数,帮助我设置commandtimeout的默认值 终于解决了我的问题

在我的例子中,为了处理将近70K条记录,我将
CommandTimeout=0
设置为
CallStoredProc
方法。这增加了无限的等待时间来执行存储的 程序


再次感谢
CodeFirstStoredProcs
team.:)

构造函数是
newstoredproc(){commandTimeout=0}