用于向用户发送系统消息的公共静态类- 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;
        }
    }
}

用于向用户发送系统消息的公共静态类- asp.net 4.0

唯一的问题是在快速并发插入期间违反了唯一约束/主键。只要所有插入都是唯一的,就可以了。