Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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
C# Petapoco无需等待即可执行存储过程_C#_Sql Server_Stored Procedures_Petapoco - Fatal编程技术网

C# Petapoco无需等待即可执行存储过程

C# Petapoco无需等待即可执行存储过程,c#,sql-server,stored-procedures,petapoco,C#,Sql Server,Stored Procedures,Petapoco,我在C#WepApi上使用PetaPoco,我必须执行一个存储过程,删除许多表上的行。要删除它的变量的行数(可能很少,也可能太多),因此,有时候,PetaPoco会抛出超时异常。使用PetaPoco是否可以“调用”存储过程并在该过程完成之前关闭连接。存储过程不返回任何值,WebApi也不需要知道它什么时候结束…触发后台任务并从WebApi请求返回需要什么。不要忘记使用以下命令更改请求超时: HttpContext.Server.ScriptTimeout = 50 * 60; // 50 min

我在C#WepApi上使用PetaPoco,我必须执行一个存储过程,删除许多表上的行。要删除它的变量的行数(可能很少,也可能太多),因此,有时候,PetaPoco会抛出超时异常。使用PetaPoco是否可以“调用”存储过程并在该过程完成之前关闭连接。存储过程不返回任何值,WebApi也不需要知道它什么时候结束…

触发后台任务并从WebApi请求返回需要什么。不要忘记使用以下命令更改请求超时:

HttpContext.Server.ScriptTimeout = 50 * 60; // 50 minutes
以及使用以下命令执行PetaPoco命令超时:

var db = new Database(connectionStringName);
db.OneTimeCommandTimeout = 50;
db.Execute( ... );

您需要的是启动后台任务并从WebApi请求返回。不要忘记使用以下命令更改请求超时:

HttpContext.Server.ScriptTimeout = 50 * 60; // 50 minutes
以及使用以下命令执行PetaPoco命令超时:

var db = new Database(connectionStringName);
db.OneTimeCommandTimeout = 50;
db.Execute( ... );

您不能关闭ADO.NET连接-这将终止内容,或者使内容不完整,或者强制回滚(取决于事务)。异步可能是一个选项。否则,ExecuteReader(在ADO.NET上)通过
CommandBehavior
提供了一个“完成后关闭连接”选项,这就是我想要的真正答案。可以做,也不能做。感谢您无法关闭ADO.NET连接-这将终止连接,或者使连接不完整,或者强制回滚(取决于事务)。异步可能是一个选项。否则,ExecuteReader(在ADO.NET上)通过
CommandBehavior
提供了一个“完成后关闭连接”选项,这就是我想要的真正答案。可以做,也不能做。thanksI试图避免OneTimeCommandTimeout,因为我无法预测执行存储过程所需的时间,但看起来我没有其他选择。在ADO中,您可以将CommandTimeout设置为零以获得无限,但PetaPoco仅在大于零时才设置该选项。如果您可以更改源代码,也许这就是解决方案我试图避免OneTimeCommandTimeout,因为我无法预测执行存储过程所需的时间,但看起来我没有其他选择在ADO中,您可以将CommandTimeout设置为零以获得无限,但PetaPoco仅在大于零时设置该选项。如果你能修改源代码,也许这就是解决方案