我正在部署我的网站版本,我已经开发了AppFabric集成,而不是使用ASP.NET内存缓存(我们将负载平衡一些Web服务器,因此需要分布式缓存而不是本地RAM高速缓存)。
在本地,我安装了AppFabric 1.1,我的网站通过'localhost'与它通信(AppFabric安装在与网站用完的同一台计算机上)。
<dataCacheClient>
<hosts>
<host name="localhost" cachePort="22233" />
</hosts>
<securityProperties mode="None" protectionLevel="None" />
</dataCacheClient>
当我将此站点部署到托管环境中的一个测试服务器(AppFabric 1.1也在本地服务器上安装)时,IIS中的站点会在一秒钟内立即失败。如果我停止IIS然后再次启动它,然后在本地刷新页面,我会在800毫秒内获得IIS泛型“HTTP错误500.0 - 内部服务器错误”。这让我感到惊讶 - 我认为该网站会在很短的时间内启动ASP.NET内容,而不是实际运行“用户代码”。
因此,所有网站的数据访问都已更改为“检查AppFabric for object,如果它不存在,则从DB&amp;存储在AppFabric内部检索” - 所以它似乎
如果我将网站版本部署到完全相同的文件夹,并且所有AppFabric缓存都更改为使用内存中的ASP.NET缓存,那么网站加载时没有任何问题,因此问题与100%相关到AppFabric。
没有异常记录,我只是看到通用的“HTTP 500.0内部服务器错误”消息。如果我检查事件查看器,那么我可以看到记录的异常:
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的安全模式&amp;保护水平。
Set-CacheClusterSecurity -SecurityMode None -ProtectionLevel None
我用这个打了一堵砖墙,我不知道还能转向哪里。我尝试在服务器上安装AppFabric 1.0,但Windows 2016不再支持它。
本地我正在使用AppFabric 1.1并且正在Windows 10上运行。如上所述,如果我部署完全相同的代码库,只需使用AppFabric通信替换.NET内存缓存,那么该站点在服务器上加载正常,这就是为什么我我确信它与AppFabric有关。
有没有人有任何指示我可以开始进一步研究这个问题?我试过了
答案 0 :(得分:0)
事实证明,ELMAH正在捕获异常并仍在创建XML日志文件。这指向我'拒绝'访问'全局'注册表项' - 您必须将应用程序池用户添加到'性能日志'和'性能监视器'用户组。