ASP.Net / AppFabric导致4011错误“发生了未处理的访问异常。”

时间:2017-12-01 16:03:47

标签: asp.net appfabric

我正在部署我的网站版本,我已经开发了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有关。

有没有人有任何指示我可以开始进一步研究这个问题?我试过了

1 个答案:

答案 0 :(得分:0)

事实证明,ELMAH正在捕获异常并仍在创建XML日志文件。这指向我'拒绝'访问'全局'注册表项' - 您必须将应用程序池用户添加到'性能日志'和'性能监视器'用户组。