Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么调试时代码意外停止?_C# - Fatal编程技术网

C# 为什么调试时代码意外停止?

C# 为什么调试时代码意外停止?,c#,C#,当我调试代码时: void Application_End(object sender, EventArgs e) { //execute when the application closed Application.Lock(); Dictionary<string, VisitorUser> dic = new Dictionary<string, VisitorUser>(

当我调试代码时:

 void Application_End(object sender, EventArgs e)
        {
            //execute when the application closed 
            Application.Lock();
            Dictionary<string, VisitorUser> dic = new Dictionary<string, VisitorUser>();
            dic = (Dictionary<string, VisitorUser>)Application["MeetUsers"];
            if (dic != null)
            {
                StringBuilder sbVisitor = new StringBuilder();
                foreach (KeyValuePair<string, VisitorUser> key in dic)
                {
                    VisitorUser vu = key.Value;
                    sbVisitor.Append(" select '"+vu.UserName+"','"+vu.ImgUrl+"','"+vu.NickName+"',"+vu.LoginTime+" union ");
                }
                new VipUserBLL().BackUpVisitor(sbVisitor.ToString().Trim().Trim("union".ToCharArray()));
            }
            Application.UnLock();
        }
void应用程序\u结束(对象发送方,事件参数e)
{
//当应用程序关闭时执行
Application.Lock();
Dictionary dic=新字典();
dic=(字典)应用程序[“MeetUsers”];
如果(dic!=null)
{
StringBuilder sbVisitor=新建StringBuilder();
foreach(dic中的KeyValuePair密钥)
{
VisitorUser vu=key.Value;
sbVisitor.Append(“选择“+vu.UserName+”、“+vu.ImgUrl+”、“+vu.昵称+”、“+vu.LoginTime+”union”);
}
新的VipUserBLL().BackUpVisitor(sbVisitor.ToString().Trim().Trim(“union.tocharray());
}
Application.UnLock();
}
它停在:

StringBuilder sbVisitor=新建StringBuilder()


并且不要继续执行。这是怎么发生的问题是什么?

它是在第一个循环还是后续循环中发生的

new VipUserBLL().BackUpVisitor..
是一个异步调用吗

我不知道为什么会发生这种情况,但我会像这样重构您的代码:

try
{
    //execute when the application closed 
    Application.Lock();
    Dictionary<string, VisitorUser> dic = new Dictionary<string, VisitorUser>();
    dic = (Dictionary<string, VisitorUser>)Application["MeetUsers"];
    if (dic != null)
    {
        StringBuilder sbVisitor = new StringBuilder();
        foreach (KeyValuePair<string, VisitorUser> key in dic)
        {
            VisitorUser vu = key.Value;
            sbVisitor.Append(" select '" + vu.UserName + "','" + vu.ImgUrl + "','" + vu.NickName + "'," + vu.LoginTime + " union ");
        }
        new VipUserBLL().BackUpVisitor(sbVisitor.ToString().Trim().Trim("union".ToCharArray()));
    }
}
catch (Exception E)
{
    // log error, you can put a break point here when debugging.
}
finally
{
    Application.UnLock();
}
试试看
{
//当应用程序关闭时执行
Application.Lock();
Dictionary dic=新字典();
dic=(字典)应用程序[“MeetUsers”];
如果(dic!=null)
{
StringBuilder sbVisitor=新建StringBuilder();
foreach(dic中的KeyValuePair密钥)
{
VisitorUser vu=key.Value;
sbVisitor.Append(“选择“+vu.UserName+”、“+vu.ImgUrl+”、“+vu.昵称+”、“+vu.LoginTime+”union”);
}
新的VipUserBLL().BackUpVisitor(sbVisitor.ToString().Trim().Trim(“union.tocharray());
}
}
捕获(例外E)
{
//日志错误,调试时可以在此处放置断点。
}
最后
{
Application.UnLock();
}

它发生在第一个循环还是后续循环中

new VipUserBLL().BackUpVisitor..
是一个异步调用吗

我不知道为什么会发生这种情况,但我会像这样重构您的代码:

try
{
    //execute when the application closed 
    Application.Lock();
    Dictionary<string, VisitorUser> dic = new Dictionary<string, VisitorUser>();
    dic = (Dictionary<string, VisitorUser>)Application["MeetUsers"];
    if (dic != null)
    {
        StringBuilder sbVisitor = new StringBuilder();
        foreach (KeyValuePair<string, VisitorUser> key in dic)
        {
            VisitorUser vu = key.Value;
            sbVisitor.Append(" select '" + vu.UserName + "','" + vu.ImgUrl + "','" + vu.NickName + "'," + vu.LoginTime + " union ");
        }
        new VipUserBLL().BackUpVisitor(sbVisitor.ToString().Trim().Trim("union".ToCharArray()));
    }
}
catch (Exception E)
{
    // log error, you can put a break point here when debugging.
}
finally
{
    Application.UnLock();
}
试试看
{
//当应用程序关闭时执行
Application.Lock();
Dictionary dic=新字典();
dic=(字典)应用程序[“MeetUsers”];
如果(dic!=null)
{
StringBuilder sbVisitor=新建StringBuilder();
foreach(dic中的KeyValuePair密钥)
{
VisitorUser vu=key.Value;
sbVisitor.Append(“选择“+vu.UserName+”、“+vu.ImgUrl+”、“+vu.昵称+”、“+vu.LoginTime+”union”);
}
新的VipUserBLL().BackUpVisitor(sbVisitor.ToString().Trim().Trim(“union.tocharray());
}
}
捕获(例外E)
{
//日志错误,调试时可以在此处放置断点。
}
最后
{
Application.UnLock();
}