在 asp.net 应用程序中,我想尽可能高效地登录到数据库。我正在使用基本的 ADO.NET 写入日志数据库,并且我想异步执行此操作,所以这就是我所做的:
using (var conn = new SqlConnection(_connectionString)) {
using (var cmd = new SqlCommand("INSERT INTO dbo.Logs (TimeStamp,ThreadId,Level,Message,Exception) VALUES (@TimeStamp,@ThreadId,@Level,@Message,@Exception)", conn)) {
cmd.Parameters.AddWithValue("@TimeStamp", DateTime.UtcNow);
cmd.Parameters.AddWithValue("@ThreadId", Thread.CurrentThread.ManagedThreadId);
cmd.Parameters.AddWithValue("@Level", level);
cmd.Parameters.AddWithValue("@Message", msg);
cmd.Parameters.AddWithValue("@Exception", ex == null ? "" : ex.ToString());
conn.Open();
cmd.ExecuteNonQueryAsync();
}
}
现在我的问题是我是否应该对 cmd.ExecuteNonQueryAsync() 语句执行等待,或者是否可以省略等待,因为我基本上只需要执行一次即发即弃。