用于向用户发送系统消息的公共静态类- asp.net 4.0
本文关键字:静态类 asp net 用户 系统消息 用于 | 更新日期: 2023-09-27 18:10:15
asp.net 4.0 - c# - MSSQL 2008 r2 db
我已经有一个私人信息系统了。在某些行动中,我会给他们发送私人信息。现在我通过直接插入查询添加到数据库内的代码后面的asp.net页面。这些消息是由系统而不是用户发送的。
为了发送这些消息(简单地将消息添加到数据库),我计划准备一个公共静态类。你觉得这样行吗?
公共静态类将接受这些变量
消息接收用户userId、消息标题、消息正文
它不会对数据库做任何选择查询,只有插入查询发送消息给用户。
在瞬间甚至可能有10个类同时调用,这会导致任何问题吗?谢谢你。
编辑这是类
using System;
using System.Data.SqlClient;
using System.Data;
public static class SendMessage
{
public static string srCommandText = "insert into mymessagestable (SenderUserId,ReceiverUserId,SentTime,Topic,Body) values(@SenderUserId,@ReceiverUserId,@SentTime,@Topic,@Body) ";
public static bool SendMessageToDb(string srReceiverUserId, string srSenderUserId, string srSentTime, string srTopic, string srBody)
{
using (SqlConnection connection = new SqlConnection(DbConnection.srConnectionString))
{
try
{
connection.Open();
using (SqlCommand cmd = new SqlCommand(srCommandText, connection))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@SenderUserId", srSenderUserId);
cmd.Parameters.AddWithValue("@ReceiverUserId", srReceiverUserId);
cmd.Parameters.AddWithValue("@SentTime", srSentTime);
cmd.Parameters.AddWithValue("@Topic", srTopic);
cmd.Parameters.AddWithValue("@Body", srBody);
cmd.ExecuteNonQuery();
}
}
catch
{
return false;
}
return true;
}
}
}
唯一的问题是在快速并发插入期间违反了唯一约束/主键。只要所有插入都是唯一的,就可以了。