Поскольку это веб-сайт, вы можете создать один экземпляр каждого контекста в событии BeginRequest Global.asax и удалить этот экземпляр в EndRequest.Это означает, что в течение остальной части жизненного цикла события у вас есть контексты, которые останутся открытыми и могут делать то, что вам нужно, но вы все равно знаете, что они правильно утилизируются.
Вот как я справлялся с проблемамикак это.
Примечание: не храните контекст в глобальной общей переменной, потому что это разделит его между несколькими запросами, и havok обеспечит.HttpContext.Current.Items позволяет вам хранить что-то, что легко получить в вашем коде, но специфично для текущего запроса, так что это безопасное место для их хранения.