簡體   English   中英

EF Core 2.1 - 處理並行異步方法的連接

[英]EF Core 2.1 - Handling connection on parallel async methods

我的 DbContext 中有多個異步方法來調用存儲過程。 所有這些方法處理連接如下。

        DbConnection connection = this.Database.GetDbConnection();
        bool needClose = false;
        if (connection.State != ConnectionState.Open)
        {
            connection.OpenAsync();
            needClose = true;
        }
        }
        try {}
        finally
        {
            if (needClose)
                connection.Close();
        }

我正在並行調用其中一些方法。 我的連接字符串有 MultipleActiveResultSets=True。 我收到以下錯誤,因為連接被另一種方法關閉。

無效操作。 連接已關閉

什么是更好的方法呢? 提前致謝。

目前我正在關閉處理連接。 這看起來不錯的樣子。 但是,如果您有任何其他建議,請告訴我。

    public override void Dispose()
    {
        DbConnection connection = Database.GetDbConnection();
        if (connection.State != ConnectionState.Closed)
        {
            connection.Close();
        }
        base.Dispose();
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM