Недавно мы преобразовали проект ASP.NET MVC 2 в ASP.NET MVC 4.
В MVC2 мы использовали LINQ to SQL.В MVC4 мы используем Entity Framework.При сравнении скорости загрузки MVC4 работает медленнее, чем MVC2.
Я сравнил базовую страницу, которая просто перетаскивает список контактов, и оба имеют одинаковую функциональность и поток (Controller -> BLL -> Repository (DAL)).Но MVC4 загружается медленнее, чем MVC2.
Выше скриншот firebug из приложения MVC2
Выше скриншот firebug из приложения MVC4
Оба являютсята же функциональность, но она отличается во время загрузки.
Как найти проблему с загрузкой в моем MVC4?Есть ли инструмент, который указывает на какие-либо проблемы / утечки?Пожалуйста, предложите.
Обновление:
Когда я проверил скорость загрузки, прокомментировав звонок в базу данных, и все еще имел ту же проблему.Когда я комментирую инъекцию зависимостей, она работает нормально.Когда я использую контроллер без каких-либо интерфейсов, как показано ниже, он загружается быстрее:
public class UserController : BaseController
{
public UserController()
{
}
}
Но когда я использую интерфейсы (внедрение зависимостей), как показано ниже, это занимает больше времени:
public class UserController : BaseController
{
private IUserService _userService;
private IPaymentService _paymentService;
private ICommonService _commonService;
private IAdminService _adminService;
private IAUserService _adminUserService;
public UserController()
{
}
public UserController(IUserService userService, IPaymentService paymentService, ICommonService commonService, IAdminService adminService, IAUserService adminUserService)
{
this._userService = userService;
this._paymentService = paymentService;
this._commonService = commonService;
this._adminService = adminService;
this._adminUserService = adminUserService;
}
}
Я разместил ветку на форуме ASP.NET , которая дала мне идею проверить, удалив инъекцию зависимостей.
Также в блоге Скотта Гу ,но пока нет положительного ответа.
Это что-то подозрительное с инъекцией зависимости, есть идеи?