我有一个 MVC 4 应用程序部署到已经工作了几个月的 Azure 云服务。突然,该应用程序停止工作,我在允许匿名访问的页面上看到 401 错误。深入事件日志揭示了这一点:
<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 nuget 包的正确引用。
更糟糕的是,我的项目在一个天蓝色的云服务中工作,但在另一个(如上所述失败)中却没有。似乎存在有限数量的相关问题,例如Type is notsolved for member "Microsoft.IdentityModel.Claims.ClaimsPrincipal,Microsoft.IdentityModel",但这与在开发人员工作站上运行 sitefinity 和我的问题有关在云端。
有任何想法吗?