2013-02-13 3 views
0

MVC 4 앱을 몇 달 동안 사용해 본 Azure 클라우드 서비스에 배포했습니다. 갑자기 앱이 작동을 멈췄으며 익명 액세스를 허용하는 페이지에 401 개의 오류가 표시됩니다. 이벤트 로그에 파고 알이 :멤버가 유형을 확인하지 못했습니다. Microsoft.IdentityModel.Claims.ClaimsPrincipal

시간 및 문제 해결 및 구성을 검사하는 시간, 나는 이런 일이 될 이유를 알아낼 수 없습니까 후
<EventData> 
<Data>System.AppDomain/50824127</Data> 
<Data>System.Runtime.Serialization.SerializationException: Type is not resolved for member 'Microsoft.IdentityModel.Claims.ClaimsPrincipal,Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. at System.Web.Hosting.ApplicationManager.GetUpdatedTotalCacheSize(Int64 sizeUpdate) at System.Web.Hosting.ObjectCacheHost.System.Runtime.Caching.Hosting.IMemoryCacheManager.UpdateCacheSize(Int64 size, MemoryCache memoryCache) at System.Runtime.Caching.CacheMemoryMonitor.GetCurrentPressure() at System.Runtime.Caching.MemoryMonitor.Update() at System.Runtime.Caching.MemoryCacheStatistics.CacheManagerThread(Int32 minPercent) at System.Threading.ExecutionContext.runTryCode(Object userData) at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx) at System.Threading._TimerCallback.PerformTimerCallback(Object state)</Data> 
<Data>w3wp</Data> 
<Data>2548</Data> 
</EventData> 

. 어셈블리, Microsoft.IdentityModel, 3.5.0.0은 배포 패키지의 bin 폴더에 있으며 프로젝트에는 WIF 너겟 패키지에 대한 올바른 참조가 있습니다.

내 프로젝트가 하나의 하늘 구름 서비스에서 작동하지만 다른 프로젝트에서는 작동하지 않는 것은 위의 설명과 같이 실패합니다. Type is not resolved for member "Microsoft.IdentityModel.Claims.ClaimsPrincipal,Microsoft.IdentityModel"과 같은 제한된 수의 관련 질문이 있지만이 질문은 개발자 워크 스테이션에서 sitefinity를 실행하는 것과 관련이 있으며 문제는 클라우드에 있습니다.

아이디어가 있으십니까?

+0

은 지금까지 당신이 .NET 4.5을 실행하는 경우 새로운 어셈블리가 GAC에서 와서, 당신은 더 이상 시작 작업을 필요로 알고하지 않기 때문에. WIF를받지 못하고 최신 Microsoft.IdentityModel 네임 스페이스가 섞여 있는지 확인할 수 있습니다. 여기에 내 자신의 질문에 대한 내 대답을 참조하십시오 : http://stackoverflow.com/a/12950590/1014822 – JcFx

+0

나는이 응용 프로그램과. NET 4에 아직도있어. –

+0

그런 다음 아래의 대답은 정확합니다. WIF를 설치하려면 시작 작업을 실행해야합니다. bin 폴더에 .dll 만 있으면 작업을 수행 할 수 없습니다. 여기 세부 정보 : http://stackoverflow.com/a/10206387/1014822 – JcFx

답변

1

우리는 Azure 프로젝트에서 비슷한 문제가 있었지만 똑같은 것은 아닙니다. 우리의 오류는 이유는 푸른 가상 머신은 기본적으로 그들에 WIF이없는 것입니다

Unable to Find Assembly 'Microsoft.IdentityModel' 

했다. Microsoft.IdentityModel이 bin 폴더에 있어도 응용 프로그램이 Microsoft.IdentityModel에 대한 참조를 해결하려고 할 때 관련이 없더라도 실패하고 누락 된 참조 오류가 발생합니다.

이 문제는 시작 작업에 WIF 설치로 해결할 수 있습니다. 이 링크에는 detais가 포함되어 있습니다.

http://blogs.msdn.com/b/sriharsha/archive/2012/04/07/windows-azure-unable-to-find-assembly-microsoft-identitymodel.aspx

관련 문제