2011-10-01 64 views
1

asp.net 4.0 - C# - MSSQL 2008 r2 db發送系統消息給用戶的公共靜態類 - asp.net 4.0

我已經擁有一個私人消息系統。在某些行動我給他們發送私人信息。現在我通過直接插入查詢將數據添加到asp.net頁面後面的代碼中。這些消息由系統而不是用戶發送。

對於這些郵件發送(簡單地增加信息到數據庫)我計劃準備一個公共靜態類。你認爲這會起作用嗎?

公共靜態類將以此爲變量消息

用戶id接收用戶,郵件的標題,正文

它不會做任何選擇查詢的數據庫只能插入查詢發送消息到用戶。

有可能是在瞬間可這會引起其他問題,類偶數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; 
     } 
    } 
} 
+0

獲取,直到你找到了什麼樣的異常,你應該在「正常」情況越來越擺脫try/catch塊的。也許對於那些你應該返回false,但不要隱瞞不尋常的例外這樣,否則你永遠不知道什麼是錯的。 –

回答

1

唯一的問題將是唯一約束/主鍵的過程中快速併發插入違規。只要所有的插入都是獨一無二的,你就會好起來的。

+0

但我認爲它不是關於類是有關數據庫。我對麼 ? – MonsterMMORPG

+0

數據庫將處理連接就好了。 –