ASP.Net/AppFabric вызывает ошибку 4011 Произошло необработанное исключение доступа.

Я развертываю версию своего веб-сайта, в которую я разработал интеграцию с AppFabric, вместо использования кэша памяти ASP.NET (мы собираемся сбалансировать нагрузку на несколько веб-серверов, поэтому нам нужно распределенное кэширование, а не локальное кэширование в ОЗУ).

Локально у меня установлен AppFabric 1.1, и мой веб-сайт взаимодействует с ним через «localhost» (AppFabric установлен на том же компьютере, на котором заканчивается веб-сайт).

<dataCacheClient>
    <hosts>
        <host name="localhost" cachePort="22233" />
    </hosts>
    <securityProperties mode="None" protectionLevel="None" />       
</dataCacheClient>  

Когда я развертываю этот сайт на одном из тестовых серверов в нашей среде хостинга (с AppFabric 1.1, также установленным локально на этом сервере), сайт в IIS немедленно выходит из строя менее чем за одну секунду. Если я остановлю IIS, а затем запущу его снова, а затем локально обновлю страницу, я получу общую ошибку IIS «HTTP Error 500.0 — Internal Server Error» через 800 мс. Это меня удивило - я думал, что сайт будет раскручивать вещи ASP.NET, а не запускать «пользовательский код» за такое короткое время.

Таким образом, весь доступ к данным сайта изменился на шаблон «проверьте AppFabric на наличие объекта, если он не существует, извлеките из БД и сохраните внутри AppFabric» - так кажется

Если я разверну версию сайта в той же самой папке со всем кэшированием AppFabric, измененным для использования кэша ASP.NET в памяти, тогда сайт загружается без проблем, поэтому проблема на 100% связана с AppFabric.

Исключение не регистрируется, я просто вижу общее сообщение «HTTP 500.0 Internal Server Error». Если я проверю средство просмотра событий, я увижу зарегистрированное исключение:

Event code: 4011 
Event message: An unhandled access exception has occurred. 
Event time: 01/12/2017 12:37:19 
Event time (UTC): 01/12/2017 12:37:19 
Event ID: 84321f68413340daaf0badf122ceed87 
Event sequence: 4 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/1/ROOT-3-131566054392620836 
    Trust level: Full 
    Application Virtual Path: / 
    Application Path: ..\..\..\..httpdocs-shared-cache\ 
    Machine name: machine

Process information: 
    Process ID: 26752 
    Process name: w3wp.exe 
    Account name: -

Request information: 
    Request URL: https://localhost:443/Index.aspx 
    Request path: /Index.aspx 
    User host address: ::1 
    User:  
    Is authenticated: False 
    Authentication Type:  
    Thread account name: -

Custom event details: 

Нет трассировки стека, чтобы показать, ГДЕ происходит сбой.

Я настроил безопасность AppFabric следующим образом (в качестве теста) — и, как показано в файле web.config, мы обращаемся к AppFabric с параметром «Нет» как для режима безопасности, так и для уровня защиты.

Set-CacheClusterSecurity -SecurityMode None -ProtectionLevel None

Я ударил кирпичную стену с этим и не уверен, куда еще обратиться. Я попытался установить AppFabric 1.0 на сервер, но он больше не поддерживается в Windows 2016.

Локально я использую AppFabric 1.1 и работаю в Windows 10. Как уже говорилось, если я развертываю точно такую ​​же кодовую базу, только связь AppFabric заменяется кешем памяти .NET, тогда сайт нормально загружается на сервере, поэтому я убежден это связано с AppFabric.

Есть ли у кого-нибудь какие-либо указания относительно того, где я могу начать изучать это дальше? Я пытался


person Steven Sproat    schedule 01.12.2017    source источник


Ответы (1)


Оказывается, ELMAH перехватывал исключение и все еще создавал XML-файл журнала. Это указало мне на «Доступ к« глобальному »ключу реестра запрещен» - вы должны добавить пользователя пула приложений в группы пользователей «журнал производительности» и «монитор производительности».

person Steven Sproat    schedule 01.12.2017