0

我正在尝试编写与我的 SQL 服务器的异步连接,但我遇到了异常。MSDN 对此没有太大帮助。我的第一种方法是:

async Task dbConnAsync(SqlConnection conn)
    {
        try
        {
            await conn.OpenAsync(); //Here i get InvalidOperationException
        }
        catch (Exception ex)
        {
            MessageBoxResult result = System.Windows.MessageBox.Show(ex.Message);
        }
    }


    private async void ReadDB()
    {
            try
            {
                Task theTask = dbConnAsync(conn);
                await theTask;                  
            }.....
    }

第二个:

private async void dbConnection()
    {
            try
            {
                 await conn.OpenAsync();               
            }.....
    }

经过多次尝试后,我决定咨询专家,那么当程序无法连接到服务器时如何捕获异常。

4

1 回答 1

0

异常告诉你连接已经在打开过程中。可能您conn.OpenAsync之前没有等待它完成就打过电话。可能您缺少一个await.

所以解决方法不是捕捉异常,而是消除根本原因。抓捕只是治标不治本。

于 2013-03-09T20:33:47.017 回答