У меня есть потокобезопасный объект, который является частью API, ранее использовавшегося в сценариях служб Windows/клиента. Этот поточно-безопасный объект по существу является одноэлементным и хранится в статической переменной, так что все вызывающие абоненты могут получить доступ к одному и тому же состоянию.ASP.NET Глобальное/Статическое хранилище?
Этот API недавно начал использоваться в приложении ASP.NET, и я подозреваю, что какое-то причудливое поведение, которое мы видим, может быть связано с неожиданным поведением AppDomain/lifecycle. Поэтому мне было интересно узнать, могу ли я получить некоторую проверку:
Является ли статическая переменная, надежно доступной для , все запросы, или ASP.NET делает какие-либо обманки с несколькими приложениями для нескольких запросов?
Я понимаю, это было бы в случае веб-сад ... но наш IIS настроен на использование только 1 процесс, и настраивается только на переработку раз в день
Хорошо, это то, что я думал, но хотел удвоить мое предположение. Благодаря! –
Этот ответ неверен. В .NET область статической переменной - это AppDomain, а не процесс. Рабочий процесс ASP.NET может содержать более одного AppDomain. – richb
@richb, есть ли причина, почему вы сделаете это в реальном приложении ASP.NET? –