Мы работаем над проектом с использованием ASP.NET MVC4. На одном из собраний команды вышла идея использования Сессия за запрос образец.Как это работает в шаблоне Session Per Request?
Я сделал небольшой поиск и выяснил некоторые вопросы здесь, в SO, говоря - в общем, что этот шаблон (если его можно назвать) указывает на рамки ORM.
Небольшого пример
//GET Controller/Test
public ActionResult Test()
{
//open database connection
var model = new TestViewModel
{
Clients = _clientService.GetClients(),
Products = _productService.GetProducts()
};
//close database connection
return View(model);
}
Без сессии на просьбу:
//GET Controller/Test
public ActionResult Test()
{
var model = new TestViewModel
{
Clients = _clientService.GetClients(), // Open and close database connection
Products = _productService.GetProducts() // Open and close database connection.
};
return View(model);
}
Сомнение
- Чтобы контекстуализировать, как работает сеанс на запрос?
- Это хорошее решение?
- Каков наилучший способ его реализации? Открыть соединение в Интернете?
- Рекомендуется ли в проектах со сложными запросами/операциями?
- Есть ли возможность дать проблему параллелизма при совершении транзакций?
Сессия по запросу, на каком уровне точно? Является ли клиент для веб-сервера, веб-сервера для сервера приложений или сервера приложений сервером базы данных/базы данных? Нам нужна дополнительная информация, чтобы давать советы. – DDan
Веб-приложение к базе данных. –
Если вы выполняете трассировку того, что выполняется в базе данных в каждом случае, вы увидите разницу. – gpersell