0
我嘗試運行我自己的TCP應用程序,現在我將檢查用戶是否退出。MySQL異步 - 我該如何使用它?
我的問題是:我如何使用mySQL異步?
public static bool CheckUserLogin(string Username,string Password){
try{
if(string.IsNullOrEmpty(Username) || string.IsNullOrEmpty(Password)){ return false; }
if (!System.Text.RegularExpressions.Regex.IsMatch(Username, "^[a-zA-Z0-9\x20]+$")) { return false; }
if (!System.Text.RegularExpressions.Regex.IsMatch(Password, "^[a-zA-Z0-9\x20]+$")) { return false; }
bool UserExit = false;
DataBase_Connection.DB_Conn.OpenAsync();
try{
string c_query = "SELECT COUNT(*) FROM `KoN_Account` WHERE BINARY `AccountName` = @U_Name AND `HashPass` = @P_Pass LIMIT 1;";
using (MySqlCommand CU_cmd = new MySqlCommand(c_query, db_Conn)){
CU_cmd.Parameters.AddWithValue("@U_Name", Username);
CU_cmd.Parameters.AddWithValue("@P_Pass", Password);
var count = CU_cmd.ExecuteScalar();
UserExit = Convert.ToBoolean(count);
}
}
catch{
}
DataBase_Connection.DB_Conn.CloseAsync();
return UserExit;
}
catch (Exception ex){
LoginConsole.WriteConsoleLoginParams(System.ConsoleColor.Red, "ERROR CheckUserLogin", ex.ToString() + "\nFailed to connect to the database (server shutdown...)");
}
return false;
}
我的問題是這是我正在做的嗎?用OpenAsync和CloseAsync?
另外我該如何使用:異步方式ExecuteScalar?
感謝您的幫助
你爲什麼要執行異步登錄?未經驗證的用戶還可以做什麼? – efekctive
它用於TCP服務器。這麼多用戶會連接到他。 – EastMile
這是一個[bug](https://bugs.mysql.com/bug.php?id=70111)。 –