2017-12-01 29 views
0

ASP.NET 메모리 캐시를 사용하는 대신 AppFabric 통합을 개발 한 웹 사이트 버전을 배포하고 있습니다. 우리는 몇 가지 웹 서버의로드 균형을 조정할 것이므로 로컬 RAM 캐싱과 달리 분산 캐싱이 필요합니다.).ASP.Net/AppFabric이 4011 오류 "처리되지 않은 액세스 예외가 발생했습니다."

로컬에서는 AppFabric 1.1이 설치되어 있고 내 웹 사이트는 'localhost'(AppFabric은 동일한 컴퓨터에 설치된 것처럼 실행 됨)를 통해 통신합니다.

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

나는 우리의 호스팅 환경에서 테스트 서버 중 하나에이 사이트를 배포

는 IIS에서 사이트 바로 일초 아래에 실패, (AppFabric 1.1도 해당 서버에 로컬로 설치). IIS를 중지했다가 다시 시작한 다음 페이지를 로컬에서 새로 고치면 800ms에 IIS 일반 "HTTP 오류 500.0 - 내부 서버 오류"가 발생합니다. 이것은 놀랐다 - 나는 사이트가 ASP.NET 물건을 회전시키고 실제로 "사용자 코드"를 실행하지 않을 것이라고 생각했다.

그래서 모든 사이트의 데이터 액세스는 "존재하지 않는 경우 DB & 저장소에서 AppFabric 내부 검색, 객체에 대한 AppFabric을 확인"의 패턴으로 변경되었습니다 - 그래서 나는를 배포하는 경우가

보인다 버전의 사이트를 똑같은 폴더에 저장하고 AppFabric 캐싱을 모두 메모리 내 ASP.NET 캐시를 사용하도록 변경하면 문제없이 사이트가로드되므로 문제는 AppFabric과 100 % 관련이 있습니다.

예외가 기록되지 않고 "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과 '없음'으로 이야기합니다.

Set-CacheClusterSecurity -SecurityMode None -ProtectionLevel None 

나는 벽돌 벽에 부딪쳤다. 서버에 AppFabric 1.0을 설치하려고했지만 Windows 2016에서 더 이상 지원되지 않습니다.

로컬로 AppFabric 1.1을 사용하고 있으며 Windows 10에서 실행 중입니다. AppFabric을 사용하여 똑같은 코드베이스를 배포하면 통신이 .NET 메모리 캐시로 바뀌면 서버에서 사이트가 정상적으로로드되므로 AppFabric과 관련이 있다는 것을 확신 할 수 있습니다.

누가 더 자세히 살펴보기 시작할 수있는 사람이 있습니까? 시도했다

답변

0

ELMAH가 예외를 잡아 냈지만 여전히 XML 로그 파일을 만들었다. 이것은 '글로벌'레지스트리 키에 대한 액세스가 거부되었음을 나타냅니다. '성능 로그'및 '성능 모니터'사용자 그룹에 응용 프로그램 풀 사용자를 추가해야합니다.