首页 新闻 搜索 专区 学院

Web应用程序中Debug和Release会影响代码执行路径?

0
悬赏园豆:15 [已关闭问题] 关闭于 2013-06-27 16:01

在LINQ to SQL中有一个类Message,一个页面试图对Message进行增加然后写入数据库。

代码如下:

            bool isWriteInMessage;
            int m_id = 0;
            Message m = new Message();
            m.sender = sender;
            m.message_content = message;
            m.send_time = DateTime.Now;
            db.Message.InsertOnSubmit(m);
            try
            {
                db.SubmitChanges();
                m_id = (int)(m.message_id); //先写入数据库,然后才能获得messageId的值
                isWriteInMessage = true;
            }
            catch 
            {
                isWriteInMessage = false;
            }

当Web程序的编译模式设为Debug时,db.SubmitChanges()方法能成功执行,不会抛出异常,但是当编译模式改为Release时,运行到db.SubmitChanges()里居然就跑到了catch块?这是怎么回事呢?

飞鸟_Asuka的主页 飞鸟_Asuka | 菜鸟二级 | 园豆:251
提问于:2013-06-07 11:25
< >
分享
所有回答(3)
0

就这点信息,暂时看不出什么问题,你可以贴下详细的错误信息。

幻天芒 | 园豆:36594 (高人七级) | 2013-06-07 15:18

由于我这里catch了异常因此页面上没有错误信息。但是debug并且单步执行的时候,程序运行到db.SubmitChanges()以后按F11,代码跳到了catch块的第一条语句isWriteInMessage = false上

支持(0) 反对(0) 飞鸟_Asuka | 园豆:251 (菜鸟二级) | 2013-06-07 17:22

@飞鸟_Asuka: 你就加个Exception,然后看异常呗。这种在保存时候的错误,一般是由于你的实体对象没有通过严重,比如你定义了实体某些属性不能为空,但是却没赋值这种。

支持(0) 反对(0) 幻天芒 | 园豆:36594 (高人七级) | 2013-06-07 20:02
0

看看这里的代码----->SubmitChanges()

丶菜牙 | 园豆:351 (菜鸟二级) | 2013-06-07 17:00
0

也许是debug 和release 的config 文件不同  比如connectionString部分

gunsmoke | 园豆:3592 (老鸟四级) | 2013-06-07 17:43

那么具体该怎么改呢

我在工程属性里和Web.config都没有找到相应设置

支持(0) 反对(0) 飞鸟_Asuka | 园豆:251 (菜鸟二级) | 2013-06-07 18:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册