Выполнение команды требует открытого и доступного соединения. Текущее состояние соединения нарушено - PullRequest
1 голос
/ 13 сентября 2011

Серьезная проблема с Entity Framework & SQL Server 2008, пожалуйста, помогите! Локально система работает хорошо, но во время нагрузочного тестирования на производственном сервере мы имеем следующую ошибку для более чем 10 пользователей.

После получения этой ошибки пользователь больше не может войти в систему.

Ошибка сервера в «/» приложении. Выполнение команды требует открытого и доступного соединения. Текущее состояние соединения нарушено.

Вот журнал SQL Server

3005
An unhandled exception has occurred.

9/13/2011 3:41:14 AM

9/13/2011 7:41:14 AM

73b3f335f4de45fa8c4ef2f22809300b

4911

482

0

/LM/W3SVC/14/ROOT-3-129603711416579333

Full

/

E:\WebSites\Medtrack2.0\

COLO-VDEV01
15864

w3wp.exe

NT AUTHORITY\NETWORK SERVICE

InvalidOperationException

Execution of the command requires an open and available connection. The connection's current state is broken. at System.Data.Objects.ObjectContext.EnsureConnection() at System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) at System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable.GetEnumerator() at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source) at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 source) at Dashboard.Page_Load(Object sender, EventArgs e) at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

http://38.127.112.89:9010/Dashboard.aspx

/Dashboard.aspx

119.148.4.83

JMiranda

True

Forms

NT AUTHORITY\NETWORK SERVICE

11

NT AUTHORITY\NETWORK SERVICE

False

at System.Data.Objects.ObjectContext.EnsureConnection() at System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) at System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable.GetEnumerator() at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source) at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 source) at Dashboard.Page_Load(Object sender, EventArgs e) at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

есть идеи?

Ответы [ 2 ]

0 голосов
/ 26 сентября 2011

Как вы храните ObjectContext?С точки зрения EF, вы должны убедиться, что каждый пользователь получает уникальную ссылку на ObjectContext.Для этого я делюсь ObjectContext, сохраняя его в коллекции HttpContext.Current.Items.Смотрите это для получения дополнительной информации о коллекции предметов: http://abhijitjana.net/2011/01/14/when-we-can-use-httpcontext-current-items-to-stores-data-in-asp-net/

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