在我的 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();
}
}
问候桑吉塔