【问题标题】:How do I set CommandTimeout to Never Timeout in Entity Framework如何在实体框架中将 CommandTimeout 设置为从不超时
【发布时间】:2015-05-21 17:33:23
【问题描述】:

我看到很多关于设置超时值的问题,但没有人询问无限超时。我们有一个存储过程,它可能需要一个多小时来为一个过程暂存数据。所以我认为最好将 CommandTimeout 设置为永不超时。我知道这种方法存在问题。

ObjectContext.CommandTimeout

我正在阅读 CommandTimeout 的 MS 文档,它并没有真正说明永不超时,所以我认为一种方法是设置一个任意高的数字。或者也许可以将平均处理时间延长一倍。

【问题讨论】:

    标签: c# .net entity-framework


    【解决方案1】:

    因此,根据SqlCommand.CommandTimeout,您可以通过将其设置为 0 来完成此操作。在您链接的文档中,如果超时小于 0,它会抛出 ArgumentException。您是否尝试过使用 0 作为超时?

    【讨论】:

    • 你可能是对的,文档确实声明0是允许使用的,但并没有说它会变成无限的。
    • 不,它没有这么说。但是,如果它被允许并且在其他类中也是如此,那么值得一试,对吧? :)
    • 是的,ObjectContext 没有提到0,唯一的缺陷是它也在ArgumentException 附近。
    • 是的。他的另一个选择是将其设置为大于3600 以说明他长达一小时的过程。
    猜你喜欢
    • 2013-06-09
    • 1970-01-01
    • 2012-07-29
    • 2012-09-29
    • 2013-08-26
    • 2013-08-14
    • 2015-12-01
    • 2011-09-08
    • 1970-01-01
    相关资源
    最近更新 更多