0

在我的 c# 应用程序中,我面临如下异常,获取项目失败,原因:尝试读取或写入受保护的内存。这通常表明其他内存已损坏。

当两个 url 同时调用时会发生上述异常。如下所述,

http://localhost.:8081/statistics/postdata?sessionId=utviuataoe http://localhost.:8081/item/detail/2916/content

其中 postdata 将数据写入 sqlite 数据库,该数据库每次都是后台进程。同时需要向最终用户显示一些图像然后发生异常。

使用的数据库是 sqlite。使用以下代码将数据写入 sqlite。

if (conn.State != ConnectionState.Open)
                Open(DataFile);

            using (SQLiteTransaction dbtrans = conn.BeginTransaction())
            {

                using (cmd.Connection = conn)
                {


                    try
                    {
                        cmd.CommandText = cmd.CommandText;
                        cmd.Transaction = dbtrans;
                        ireturn = cmd.ExecuteNonQuery();
                        dbtrans.Commit();
                        cmd.Dispose();
                        conn.Close();
                    }
                    catch (Exception)
                    {
                    }
                }
            }

使用以下代码读取数据,

 public SQLiteDataReader ExecuteSQL(String sqlExpr)
        {


            if (conn.State != ConnectionState.Open)
                Open(DataFile);

            using (SQLiteCommand cmd = conn.CreateCommand())
            {

                cmd.CommandText = sqlExpr + ";PRAGMA read_uncommitted = 1;";
                cmd.CommandType = CommandType.Text;
                return cmd.ExecuteReader();
            }


        }

问候桑吉塔

4

0 回答 0