C# Task运行存储过程

线程里面执行存储过程 ,这个存储过程需要2个小时,从数据库里面查询存储过程日志发现存储过程已经执行完毕,但是C#的后续代码没有执行,请问什么原因
try
            {
                this.Invoke(_appendTextBoxTextSender, new object[] { this.txtfxmessage, DateTime.Now.ToString() + " 风险分数接收开始……\r\n", "" });
                //计算总分
                Hashtable ht_pimportrisk = new Hashtable();
                ht_pimportrisk.Add("@username", PublicInfos.FUSERNAME);//此过程耗时两个小时,但是看了数据库日志,执行完毕了。
                _odh.RunProcedure("Pimportrisk", ht_pimportrisk);


                this.Invoke(_appendTextBoxTextSender, new object[] { this.txtfxmessage, DateTime.Now.ToString() + " 数据分析完成……\r\n", "" });




            }
            catch (ThreadAbortException)
            {
                //线程中止
            }
            catch (NullReferenceException)
            {
                //线程中止可能出现的异常
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            string endmessage = DateTime.Now.ToString() + " 风险客户数据采集完成。";
            this.Invoke(_appendTextBoxTextSender, new object[] { this.txtfxmessage, endmessage + "\r\n", "" });
            _log.InsertOpLog("", "风险客户采集", endmessage, "");

你把各种异常都吃了,你说这个存储过程运行2小时?那么正常ado执行的结果是“超时”异常