首页 新闻 会员 周边

有谁用过task异步?await sqlcmd.ExecuteScalarAsync(); 不向下执行,而是跳过了?

0
[已解决问题] 解决于 2014-09-15 07:39
       async Task<object> Scalar(string sql)
        {
            if (!inited)
                await Init();

            object o = null;
            //are.WaitOne();
            sqlcmd.CommandText = sql;
            if (sqlconn.State == ConnectionState.Open)
            {
                var hold = true;
            }
            await sqlconn.OpenAsync();
            await sqlcmd.ExecuteScalarAsync();
            sqlconn.Close();
            
            //are.Set();
            return o;
        }

调用方

url_lst.ForEach(async (item) =>
                        {
                            var uri = new Uri(item);
                            if (!await q_ing.Contains(uri) && !await q_ed.Contains(uri))
                                await q_ing.En(uri);
                        });

url_lst中是网址列表,q_ing与q_ed是包括最开始那个方法的类。但有时候会直接跳过sqlconn.close();不知道咋回事。

gnhao的主页 gnhao | 初学一级 | 园豆:9
提问于:2014-07-19 21:00
< >
分享
最佳答案
0

sqlcmd.ExecuteScalarAsync(); 抛出异常就不执行下面的语句了吧。

奖励园豆:5
Launcher | 高人七级 |园豆:45045 | 2014-07-21 09:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册