我们的应用程序遵循使用Rick Strahl在其上概述的DataContextFactory类维护每个线程/httpcontext的方法 博客, ,包括Richard提到的密钥的修正案(使用类型。AssemblyQualifiedName)。

该解决方案看起来是声音的(尽管在大多数情况下,不同的方法可能会更好),但是,在使用此问题时,我已经看到应用程序中出现了间歇性错误:

执行程序需要开放且可用的连接。连接的当前状态已关闭。

我使用以下属性在整个代码中访问DataContext,这是我DataContext类的一部分:

/// <summary>
/// Returns the current datacontext for the thread or HttpContext, creating one if it does not exist.
/// </summary>
public static SharedDataContext Current
{
    get
    {
        return DataContextFactory.GetScopedDataContext<SharedDataContext>();
    }
}

交流我很难固定。有谁知道我可能会做错什么,或者有一个好主意我如何能够调试这个问题?


请注意,这可能是 未得到答复 问题 这里

有帮助吗?

解决方案

现在,我们使用一种自定义DataContextFactory,该数据可维护DataContexts Per-Transaction。唯一的另一个主要更改是用于属性的[threadstatic],而不是通过thread.get/setData手动访问

由于这种改变的问题似乎不再出现,并且由于没有其他答案,因此我建议[线程]作为解决方案

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top