LINQ к SQL - уже существует открытое средство чтения данных, связанное с этой командой whic, должен быть закрыт сначала

Недавно я реализовал Linq к SQL в статическом классе в моем проекте ASP.NET, который является служебным классом для получения некоторой информации о загрузке сайта. когда я использовал статический linqtosql datacontext, я получил вышеупомянутую ошибку только в продуктивной среде, но никогда не получал ту проблему о UAT или сайты QA. (это означает, что эта проблема только происходит, когда существует большая часть загрузки).

таким образом, я погуглил вокруг и нашел эту статью здесь. таким образом, то, что я сделал, было, я сделал свой уровень страницы datacontext переменными и передал их статическим методам каждый раз, когда я называю их. то, что я сделал был исправить, который решит этот вопрос? /

1
задан Aneef 14 August 2010 в 08:15
поделиться

1 ответ

В ASP.Net каждый запрос это отдельная ветка. Поэтому, если вы используете статический ресурс, вы должны обрабатывать параллелизм. В вашем случае кажется, что два устройства чтения данных используют одно и то же соединение. Поскольку ваш класс статичен, когда сервер находится под большой нагрузкой, может случиться так, что два запроса будут использовать один и тот же текст данных одновременно.

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

2
ответ дан 2 September 2019 в 22:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: