это сработало для меня, вы можете попробовать ниже код
string replacedstring = ("your string with smart quotes").Replace('\u201d', '\'');
Спасибо!
На самом деле это довольно интересно наблюдать, вы можете запустить профилировщик и отследить получение / снятие блокировки для некоторых простых запросов. Я сделал это некоторое время назад, это было что-то вроде: получить страницу 1 получить строку 1 получить строку 2 освободить строку 1 получить строку 3 освободить строку 2 получить страницу 2 выпускная страница 1 ...
Возможно, я не на 100% прав, но в основном это был подход. Таким образом, блокировка снимается после того, как строка будет прочитана, или, может быть, более правильно, после того, как будет получена блокировка следующей строки. Я подозреваю, что это может быть связано с сохранением согласованного состояния для обхода.