科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件c#里面的一个问题

c#里面的一个问题

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

c#里面的一个问题

作者: chesekinng 来源:赛迪网技术社区 2007年11月28日

关键字: 问题 C#

  • 评论
  • 分享微博
  • 分享邮件
Process p = new Process(); "0L!rxzH  
            p.StartInfo.FileName = "cmd.exe"; v?pGi2?"iJ  
            p.StartInfo.UseShellExecute = true; 7&PFWN  
            p.StartInfo.RedirectStandardInput = true; $27N8@-d{)  
            p.StartInfo.RedirectStandardOutput = true; I"/ _XL6  
            p.StartInfo.RedirectStandardError = true; 8]:G@tAb  
            p.EnableRaisingEvents = true; S 1b 'z%v  
            p.StartInfo.CreateNoWindow = true; O.vW_XWc  
?^EQ4x&a J  
            try @q8F0s3GI  
            { <mX4$K8  
                )& `TWX  
                p.Start(); 6C$#cI6tn  
                p.StandardInput.WriteLine(strexp); }w4z+n.f  
                p.StandardInput.WriteLine("exit"); i=!F1\}?  
                kfV5>  
                p.WaitForExit(); #N?RM{Z  
                str = "数据库备份成功!"; *M|53lQ$J  
                MessageBox.Show(str, "消息", MessageBoxButtons.OK, MessageBoxIcon.Information); )9IG=;EkFt  
              %{n'K*  
            } QLy7u  
            catch (Exception err) wpVR[{=A1o  
            { cuYH\F gq  
                throw (new Exception("备份数据库失败!" + err.Message)); _Cy_d'RA  
            } iF0Y nTAV  
            finally P(e.?q.  
            { Z#s>q|\0  
                p.Close(); B3J_v*5#00  
            } oUf|HV"&w  
            =vGi6  
ImBFtHXYo  
        } 2e@i"Z!  
EE'hD>]<H  
1P j-)Yqp  
              9-Ul'S`2  
有个问题:当没有p.WaitForExit();这个语句的时候,C#程序可以引发cmd命令,直接弹出“备份完毕”的box。但后台备份文件还在写入。备份的数据库文件115兆之大。我想做的是在等数据备份完毕才执行下一“备份完毕”的命令。当我加上p.WaitForExit();时。至备份了一点就卡住了,不知是不是死锁还是怎么。存放备份的文件不在写入。只有等我停止调试后,才慢慢的写入。这个写入过程需要两分钟之多。请高手给解释一下,该怎么做?
查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章