mirror of
https://github.com/project-redbud/FunGame-Server.git
synced 2025-04-20 11:09:36 +08:00
删除DataRequestHandler中强制的SQL事务
This commit is contained in:
parent
359159b58a
commit
9e64b854aa
@ -489,26 +489,28 @@ namespace Milimoe.FunGame.Server.Controller
|
||||
else
|
||||
{
|
||||
// 发送验证码,需要先删除之前过期的验证码
|
||||
SQLHelper.NewTransaction();
|
||||
SQLHelper.Execute(RegVerifyCodes.Delete_RegVerifyCode(username, email));
|
||||
RegVerify = Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 6);
|
||||
SQLHelper.Execute(RegVerifyCodes.Insert_RegVerifyCode(username, email, RegVerify));
|
||||
if (SQLHelper.Result == SQLResult.Success)
|
||||
{
|
||||
SQLHelper.Commit();
|
||||
if (MailSender != null)
|
||||
{
|
||||
// 发送验证码
|
||||
string ServerName = Config.ServerName;
|
||||
string Subject = $"[{ServerName}] FunGame 注册验证码";
|
||||
string Body = $"亲爱的 {username}, <br/> 感谢您注册[{ServerName}],您的验证码是 {RegVerify} ,10分钟内有效,请及时输入!<br/><br/>{ServerName}<br/>{DateTimeUtility.GetDateTimeToString(TimeType.DateOnly)}";
|
||||
string[] To = new string[] { email };
|
||||
string Body = $"亲爱的 {username}, <br/> 感谢您注册[{ServerName}],您的验证码是 {RegVerify} ,10分钟内有效,请及时输入!<br/><br/>{ServerName}<br/>{DateTimeUtility.GetDateTimeToString(TimeType.LongDateOnly)}";
|
||||
string[] To = [email];
|
||||
if (MailSender.Send(MailSender.CreateMail(Subject, Body, System.Net.Mail.MailPriority.Normal, true, To)) == MailSendResult.Success)
|
||||
{
|
||||
ServerHelper.WriteLine(Server.GetClientName() + $" 已向{email}发送验证码:{RegVerify}");
|
||||
}
|
||||
else
|
||||
{
|
||||
ServerHelper.WriteLine(Server.GetClientName() + " 无法发送验证码");
|
||||
ServerHelper.WriteLine(MailSender.ErrorMsg);
|
||||
ServerHelper.WriteLine(Server.GetClientName() + " 无法发送验证码", InvokeMessageType.Error);
|
||||
ServerHelper.WriteLine(MailSender.ErrorMsg, InvokeMessageType.Error);
|
||||
}
|
||||
}
|
||||
else // 不使用MailSender的情况
|
||||
@ -517,6 +519,7 @@ namespace Milimoe.FunGame.Server.Controller
|
||||
}
|
||||
returnType = RegInvokeType.InputVerifyCode;
|
||||
}
|
||||
else SQLHelper.Rollback();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -540,6 +543,7 @@ namespace Milimoe.FunGame.Server.Controller
|
||||
// 注册
|
||||
if (RegVerify.Equals(SQLHelper.DataSet.Tables[0].Rows[0][RegVerifyCodes.Column_RegVerifyCode]))
|
||||
{
|
||||
SQLHelper.NewTransaction();
|
||||
ServerHelper.WriteLine("[Reg] UserName: " + username + " Email: " + email);
|
||||
SQLHelper.Execute(UserQuery.Insert_Register(username, password, email, Server.Socket?.ClientIP ?? ""));
|
||||
if (SQLHelper.Result == SQLResult.Success)
|
||||
@ -547,9 +551,11 @@ namespace Milimoe.FunGame.Server.Controller
|
||||
success = true;
|
||||
msg = "注册成功!请牢记您的账号与密码!";
|
||||
SQLHelper.Execute(RegVerifyCodes.Delete_RegVerifyCode(username, email));
|
||||
SQLHelper.Commit();
|
||||
}
|
||||
else
|
||||
{
|
||||
SQLHelper.Rollback();
|
||||
msg = "服务器无法处理您的注册,注册失败!";
|
||||
}
|
||||
}
|
||||
@ -704,8 +710,8 @@ namespace Milimoe.FunGame.Server.Controller
|
||||
// 发送验证码
|
||||
string ServerName = Config.ServerName;
|
||||
string Subject = $"[{ServerName}] FunGame 找回密码验证码";
|
||||
string Body = $"亲爱的 {username}, <br/> 您正在找回[{ServerName}]账号的密码,您的验证码是 {ForgetVerify} ,10分钟内有效,请及时输入!<br/><br/>{ServerName}<br/>{DateTimeUtility.GetDateTimeToString(TimeType.DateOnly)}";
|
||||
string[] To = new string[] { email };
|
||||
string Body = $"亲爱的 {username}, <br/> 您正在找回[{ServerName}]账号的密码,您的验证码是 {ForgetVerify} ,10分钟内有效,请及时输入!<br/><br/>{ServerName}<br/>{DateTimeUtility.GetDateTimeToString(TimeType.LongDateOnly)}";
|
||||
string[] To = [email];
|
||||
if (MailSender.Send(MailSender.CreateMail(Subject, Body, System.Net.Mail.MailPriority.Normal, true, To)) == MailSendResult.Success)
|
||||
{
|
||||
ServerHelper.WriteLine(Server.GetClientName() + $" 已向{email}发送验证码:{ForgetVerify}");
|
||||
|
@ -224,7 +224,7 @@ bool Connect(ClientSocket socket, Guid token, string clientip, ref bool isDebugM
|
||||
return false;
|
||||
}
|
||||
|
||||
ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(read.SocketType) + "] " + ServerHelper.MakeClientName(socket.ClientIP), InvokeMessageType.Core);
|
||||
ServerHelper.WriteLine("[" + SocketSet.GetTypeString(read.SocketType) + "] " + ServerHelper.MakeClientName(socket.ClientIP), InvokeMessageType.Core);
|
||||
|
||||
// 读取参数
|
||||
// 参数1:客户端的游戏模组列表,没有服务器的需要拒绝
|
||||
|
@ -83,7 +83,7 @@ namespace Milimoe.FunGame.Server.Model
|
||||
// 验证Token
|
||||
if (type != SocketMessageType.HeartBeat && token != Token)
|
||||
{
|
||||
ServerHelper.WriteLine(GetClientName() + " 使用了非法方式传输消息,服务器拒绝回应 -> [" + ServerSocket.GetTypeString(type) + "] ");
|
||||
ServerHelper.WriteLine(GetClientName() + " 使用了非法方式传输消息,服务器拒绝回应 -> [" + SocketSet.GetTypeString(type) + "] ");
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -111,7 +111,7 @@ namespace Milimoe.FunGame.Server.Model
|
||||
switch (type)
|
||||
{
|
||||
case SocketMessageType.Disconnect:
|
||||
ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(SocketMessageType.DataRequest) + "] " + GetClientName() + " -> Disconnect", InvokeMessageType.Core);
|
||||
ServerHelper.WriteLine("[" + SocketSet.GetTypeString(SocketMessageType.DataRequest) + "] " + GetClientName() + " -> Disconnect", InvokeMessageType.Core);
|
||||
msg = "你已成功断开与服务器的连接: " + Config.ServerName + "。 ";
|
||||
break;
|
||||
}
|
||||
@ -139,9 +139,7 @@ namespace Milimoe.FunGame.Server.Model
|
||||
type = SocketObject.GetParam<DataRequestType>(0);
|
||||
Hashtable data = SocketObject.GetParam<Hashtable>(1) ?? [];
|
||||
|
||||
SQLHelper.NewTransaction();
|
||||
result = DataRequestController.GetResultData(type, data);
|
||||
SQLHelper.Commit();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@ -207,7 +205,7 @@ namespace Milimoe.FunGame.Server.Model
|
||||
}
|
||||
object obj = objs[0];
|
||||
if (obj.GetType() == typeof(string) && (string)obj != "")
|
||||
ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(type) + "] " + GetClientName() + " <- " + obj, InvokeMessageType.Core);
|
||||
ServerHelper.WriteLine("[" + SocketSet.GetTypeString(type) + "] " + GetClientName() + " <- " + obj, InvokeMessageType.Core);
|
||||
return true;
|
||||
}
|
||||
throw new CanNotSendToClientException();
|
||||
@ -565,7 +563,7 @@ namespace Milimoe.FunGame.Server.Model
|
||||
|
||||
private void CreateStreamReader()
|
||||
{
|
||||
Thread.Sleep(100);
|
||||
Thread.Sleep(20);
|
||||
ServerHelper.WriteLine("Creating: StreamReader -> " + GetClientName() + " ...OK");
|
||||
while (Running)
|
||||
{
|
||||
@ -598,13 +596,24 @@ namespace Milimoe.FunGame.Server.Model
|
||||
|
||||
private void CreatePeriodicalQuerier()
|
||||
{
|
||||
Thread.Sleep(100);
|
||||
Thread.Sleep(20);
|
||||
ServerHelper.WriteLine("Creating: PeriodicalQuerier -> " + GetClientName() + " ...OK");
|
||||
while (Running)
|
||||
{
|
||||
// 每两小时触发一次SQL服务器的心跳查询,防止SQL服务器掉线
|
||||
Thread.Sleep(2 * 1000 * 3600);
|
||||
SQLHelper?.ExecuteDataSet(UserQuery.Select_IsExistUsername(UserName));
|
||||
try
|
||||
{
|
||||
Thread.Sleep(2 * 1000 * 3600);
|
||||
SQLHelper?.ExecuteDataSet(UserQuery.Select_IsExistUsername(UserName));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
ServerHelper.Error(e);
|
||||
RemoveUser();
|
||||
Close();
|
||||
ServerHelper.WriteLine(GetClientName() + " Error -> Socket is Closed.");
|
||||
ServerHelper.WriteLine(GetClientName() + " Close -> StringStream is Closed.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user