Entity Framework Контекст, имеющий дело с устаревшими данными - PullRequest
0 голосов
/ 24 февраля 2012

Я использую Unity для вставки контекста и использую следующий менеджер времени жизни ...

public class HttpContextLifetimeManager<T> : LifetimeManager, IDisposable
{
    #region IDisposable Members

    public void Dispose()
    {
        RemoveValue();
    }

    #endregion

    public override object GetValue()
    {
        object value = HttpContext.Current.Items[typeof (T).AssemblyQualifiedName];

        return value;
    }

    public override void RemoveValue()
    {
        HttpContext.Current.Items.Remove(typeof (T).AssemblyQualifiedName);
    }

    public override void SetValue(object newValue)
    {
        HttpContext.Current.Items[typeof (T).AssemblyQualifiedName]
            = newValue;
    }
}
  • Первый запрос на первую страницу: Показывает значения.
  • Первый вебзапрос на второй странице: обновление значений.
  • второй веб-запрос на первой странице: отображение старых значений.
  • второй веб-запрос на второй странице: отображение новых значений.

Мне нужно перезапустить сервер разработки VS, чтобы первая страница показала новые значения.

Так как может контекст a) жить между запросами страницы и b) быть специфичным для страницы?

1 Ответ

0 голосов
/ 03 апреля 2012

Это не имеет ничего общего с EF.Сгенерированный пользовательский интерфейс был не синхронизирован с объектом, и объект выдавал ошибки проверки, о которых не сообщалось в пользовательском интерфейсе.Это помогло бы, если бы шаблоны скаффолдинга генерировали сводку валидации, которая показывала бы не только ошибки уровня модели.

...