我正在使用asp.net核心MVC模式的APP的服务器程序。而在XXXXcontrller我从不使用像“Connection.open()”和“Connection.close()”的代码,HTTP GET操作就像这样。如何管理asp.net核心MVC模式下的SQL Server连接?
public async Task<IActionResult> register(string phoneNum, string password, string userType)
{
//从数据库里找到m.Id和 id相同的车,赋给dbCars
var dbCars = await _context.dbUsers.SingleOrDefaultAsync(m => m.UserName == phoneNum);
// var dbCars= _context.dbCars.Where(s => s.Id == id).FirstOrDefault<dbCars>();
if (dbCars == null)//如果为空,则注册
{
//注册新用户
dbCars = new dbUsers();
dbCars.UserName = phoneNum;
dbCars.Password = password;
dbCars.UserType = userType;
dbCars.IsVerified = true;
_context.Add(dbCars);
await _context.SaveChangesAsync();
//注册完成之后,把ID、用户类型和是否认证返回回去
List<string> userInfo = new List<string>();
userInfo.Add(dbCars.Id.ToString().Trim());
userInfo.Add(dbCars.UserType.ToString().Trim());
userInfo.Add(dbCars.IsVerified.ToString());
string json = JsonConvert.SerializeObject(userInfo);
return Ok(json);
}
else //如果不为空就代表注册过了
{
return Ok("0"); //返回1代表注册过了
}
}
我想知道当许多用户访问此服务时应该如何维护SQL连接?我应该手动关闭这些连接吗?或者它可以通过一些魔法自动完成?如果许多用户访问此服务,请将我的程序分解?
我很困惑,谁能给我一个答案?
我认为你使用的是实体框架。在EF打开和关闭中,连接是由它自己管理的,所以你不需要为此烦恼。 –
是的,它是Entity Framework。那么,有多少用户可以访问我的服务器取决于什么?在IIS设置?在SQL SERVER设置?这与我的服务器无关?这里是我的连接字符串“”DefaultConnection“:”数据源=本地;数据库= Nxts; Trusted_Connection =真; MultipleActiveResultSets =真“” –