1
我有一個Web應用程序並將其託管在Azure中,但問題在於無論層如何,SQL池都快速完成。 我在想,也許我需要處理ApplicationDbContext,這是必需的嗎?這會有幫助嗎?在ASP.NET Core中部署ApplicationDbContext
以下是我的類與方法利用指數大部分時間SQL部分:
private readonly ApplicationDbContext _context;
private readonly IEmailSender _emailSender;
public MessagesController(ApplicationDbContext context, IEmailSender emailSender)
{
_context = context;
_emailSender = emailSender;
}
// GET: Message
[Authorize]
public async Task<IActionResult> Index()
{
var user = _context.Users.Where(u => u.Email.Equals(User.Identity.Name)).Select(u =>
new { u.Name, u.Subdomain, u.PhotoURL }).FirstOrDefault();
ViewData["Name"] = user.Name;
ViewData["Subdomain"] = user.Subdomain;
ViewData["PhotoURL"] = (user.PhotoURL == null) ? "../../img/avatar.png" : user.PhotoURL;
List<Message> messages = await _context.Messages.Where(m => m.UserName.Equals(User.Identity.Name))
.Select(m => new Message { ID = m.ID, DateTime = m.DateTime, Text = m.Text }).ToListAsync();
return View(messages);
}
要我打電話_context.dispose()雖然我使用其他的ActionResult方法相同的情況下?
謝謝你這麼多
感謝您的回答。我已經完成了你上面寫的內容,我是否應該將它用在聲明中?因爲我仍然不明白爲什麼我的泳池變得非常快。你能否告訴我,如果我對上面的代碼有任何問題? – Techy
你的代碼看起來很好... –