做了一个发布留言的功能
但是在测试的时候浏览出现 "WebDev.WebServer.exe 遇到问题需要关闭。我们对此引起的不便表示抱歉。" 
在百度上查了下 好多都是说是由于死循环引起的 但是一个插入操作怎么会有死循环呢
我和以前我做的一个添加新闻的代码比较了下 都一样 但是还是找不到问题在哪里DAL:
 #region 添加新留言
       /// <summary>
       /// 添加新留言
       /// </summary>
       /// <param name="mes">留言实体类</param>
       /// <returns></returns>
       public bool InsertMessage(JKX_Message mes)
       {
           bool flag = false;
           string CmdText = "procInsertMessage";
           SqlParameter[] paras = new SqlParameter[]{
            new SqlParameter("@name",mes.Name),
            new SqlParameter("@class",mes.Class),
            new SqlParameter("@title",mes.Title),
            new SqlParameter("@content",mes.Content),
            new SqlParameter("@ip",mes.Ip)};
           int res = sqlhelper.ExecuteNonQuery(CmdText, paras, CommandType.StoredProcedure);
           if (res > 0)
           {
               flag = true;           }
           return flag;
       }
       #endregionBLL:
#region 添加留言
       /// <summary>
       /// 添加留言
       /// </summary>
       /// <param name="n">新闻实体类</param>
       /// <returns></returns>
       public bool InsertMessage(JKX_Message mes)
       {
           return mesdao.InsertMessage(mes);
       }
       #endregion页面上:
//实例化JKX_Message实体类
        JKX_Message mes = new JKX_Message();        //获取用户输入的信息
        mes.Name= txt_name.Text.Trim().ToString();
        mes.Class = txt_class.Text.Trim().ToString();
        mes.Title= txt_title.Text.Trim().ToString();
        mes.Content= txt_content.Text.Trim().ToString();
        mes.Ip = Request.ServerVariables["REMOTE_ADDR"].ToString();
        
        //添加到数据库
        bool flag = new JKX_MessageManager().InsertMessage(mes);
        if (flag)
        {
            Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('留言添加成功!请关注回复!');</script>");
        }
        else
        {
             Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('留言添加失败!请联系管理员!');</script>");
        }

解决方案 »

  1.   

    BLL在引用DAL的时候有实例化 
     #region 实例化JKX_MessageDAO对象 mesdao       private JKX_MessageDAO mesdao = null;
           public JKX_MessageManager()
           {
               mesdao = new JKX_MessageDAO();
           }
           #endregion
      

  2.   

    添加try, catch
    添加操作是否成功
      

  3.   

    值是否有null
    try
    {
    string CmdText = "procInsertMessage"; 
              SqlParameter[] paras = new SqlParameter[]{ 
                new SqlParameter("@name",mes.Name), 
                new SqlParameter("@class",mes.Class), 
                new SqlParameter("@title",mes.Title), 
                new SqlParameter("@content",mes.Content), 
                new SqlParameter("@ip",mes.Ip)}; 
              int res = sqlhelper.ExecuteNonQuery(CmdText, paras, CommandType.StoredProcedure); 
              if (res > 0) 
              { 
                  flag = true;           } 
    }
    catch(Exception ex)
    {
    }
      

  4.   

    上面的问题还没解决啊????
    我也遇到同样的问题了,而且还是绑定GridView的时候
    根本没用到循环啊,急死了,谁能解决!!
      

  5.   

    我也遇到这问题了。是不是跟DAL 里边写的有关呢?还是什么呀?