我正在使用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 =真「」 –