MVC ASP.NET, ObjectContext и Ajax. Странное поведение - PullRequest
1 голос
/ 21 марта 2010

я создавал веб-приложение в mvc asp.net.У меня есть три разных проекта / решения:

  • Одно решение содержит модель в EF (DAL) и все методы для добавления, обновления, удаления и запроса объектов в модели, здесь управляется объектный контекстна основе запроса.
  • Другое решение содержит систему управления контентом, в которую авторизованные пользователи вставляют, удаляют, обновляют и получают доступ к объектам через DAL, упомянутый ранее.
  • И последнее решение содержит веб-страницу, к которой обращаются все пользователи (тысячи пользователей в день), и где единственными выполняемыми операциями являются выбор, обновление, вставка или удаление здесь.

Все выборы выполняются в соответствии с DAL, упомянутым ранее (первое решение).Проблема здесь в том, что я не уверен, является ли HttpContext продолжительностью жизни ObjectContext лучшим решением.

В моем веб-приложении много вызовов ajax, и я не уверен, что httpcontext может повлиять на производительность приложения.Я заметил, что в некоторых случаях, особенно когда кто-то работает в менеджере контента, вставляя, обновляя или удаляя, когда вы пытаетесь нажать на любую ссылку пользовательского веб-приложения (веб-приложение, к которому обращается любой пользователь -третий, о котором я упоминал ранее) веб-страница зависает и остается застрявшей при передаче данных.Чтобы остановить это поведение, вы должны остановить и обновить или щелкнуть несколько раз по ссылке.Извините за мой плохой английский.Я надеюсь, что вы могли понять и могли бы помочь мне решить эту проблему.Спасибо заранее.

1 Ответ

0 голосов
/ 21 марта 2010

Вам нужен новый ObjectContext для каждой операции, потому что он предназначен для использования в качестве единицы работы. Вы хотите утилизировать его после вызова SaveChanges, потому что, если вы будете использовать его для выбора после сохранения изменений, вы получите неожиданные результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...