BuzzAnn,
Документация Microsoft по этой теме указывает, что установка режима состояния сеанса на уровне страницы на «ReadOnly» должна защитить вас от одновременных попыток записи информации о состоянии сеанса (они будут поставлены в очередь и будут обрабатываться последовательно), но несколько читателей будут допущены. См. Раздел «Синхронизация доступа к состоянию сеанса»:
http://msdn.microsoft.com/en-us/library/aa479041.aspx
Когда для свойства EnableSessionState для страницы установлено значение «ReadOnly», каждый запрос страницы пытается получить блокировку чтения информации о состоянии. В стандартной семантике ReaderWriterLock любое количество читателей может иметь одновременный доступ к защищаемой информации. Любой запрос, который достигает блокировки записи (например, через EnableSessionState , установленный в значение «true»), тем не менее, блокирует записи и считывает информацию о состоянии сеанса до тех пор, пока запрос не удерживает программу записи. блокировка завершена.
Пока все, что вы пытаетесь сделать, это читать информацию о состоянии сеанса со своих страниц, пока для них EnableSessionState установлено значение "ReadOnly", все запросы на чтение будут выполняться без блокировки. Однако, если вы попытаетесь написать, в документации не ясно, что на самом деле произойдет. Предполагая, что ReaderWriterLock - это все, что используется для синхронизации доступа, я предполагаю, что вы не будете защищены от перезаписей, условий гонки и других проблем с несинхронизированным доступом.
Если вы собираетесь попытаться выполнить запись в состояние сеанса, обязательно установите для EnableSessionState значение «true», чтобы гарантировать, что блокировка устройства записи достигнута и синхронизация происходит по мере необходимости.
Надеюсь, это поможет!