Есть ли безопасный способ использовать ReaderWriterLockSlim в ASP.NET?

Статья Джо Даффи о ReaderWriterLockSlim не вселяет в меня уверенность!

Представляем новый ReaderWriterLockSlim в Orcas

Блокировка не устойчива к асинхронным исключениям, таким как прерывание потока и нехватка памяти. Если один из них происходит во время выполнения одного из методов блокировки, состояние блокировки может быть повреждено, вызывая последующие взаимные блокировки, необработанные исключения и (к сожалению) из-за использования спин-блокировок внутри, привязанный 100% -ый ЦП.

Как я могу безопасно использовать ReaderWriterLockSlim в ASP.NET?

1 ответ

Решение

Ваше приложение ASP.NET регулярно сталкивается с прерываниями потока (из других потоков) или пытается выжить OutOfMemoryException s? Если нет, я не могу видеть, что сообщение слишком беспокоит... и если это так, я бы сказал, что у вас есть большие проблемы.

В частности, обратите внимание на этот бит:

Однако у новой блокировки есть некоторые недостатки, которые могут заставить программистов писать размещенный или низкоуровневый код, чувствительный к надежности, ждать его принятия. Не поймите меня неправильно, большинству людей действительно не нужно беспокоиться об этих темах, поэтому я прошу прощения, если мои предупреждающие слова вас отпугнули: но те, которые действительно нужно рассказать о положении дел.

Да, ASP.NET "размещен", но он не такой серьезный, как хостинг SQL Server CLR. Я не думаю, что вам нужно беспокоиться.

Другие вопросы по тегам