Я развертываю версию своего веб-сайта, в которую я разработал интеграцию с 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.
Есть ли у кого-нибудь какие-либо указания относительно того, где я могу начать изучать это дальше? Я пытался