我有一個MVC站點作爲Azure中的雲服務託管。用戶使用AD帳戶通過單一登錄進行登錄。無法加載Microsoft.Data.Services.Client異常
在Chrome瀏覽器中工作正常,但是當我通過IE瀏覽器訪問該網站,我得到以下
Could not load file or assembly 'Microsoft.Data.Services.Client, Version=5.6.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
我不明白,同樣的服務器端代碼是如何在不同的瀏覽器不同的結果。
錯誤似乎發生在我重寫System.Security.Claims.ClaimsAuthenticationManager中的Authenticate方法時。
我們這樣做來檢查用戶是否具有某個AD角色,然後如果是這樣,只需調用base.Authenticate,這是引發異常的地方。
堆棧跟蹤:
[FileNotFoundException: Could not load file or assembly 'Microsoft.Data.Services.Client, Version=5.6.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.]
...GraphClaimsAuthenticationManager.Authenticate(String resourceName, ClaimsPrincipal incomingPrincipal) in ...Azure.Helpers\GraphClaimsAuthenticationManager.cs:76
System.IdentityModel.Services.WSFederationAuthenticationModule.SignInWithResponseMessage(HttpRequestBase request) +694
System.IdentityModel.Services.WSFederationAuthenticationModule.OnAuthenticateRequest(Object sender, EventArgs args) +103571
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +165
更新
我想我已經部分地制定出來,該DLL沒有被打造成爲Azure雲服務包。複製本地設置爲true,並且當我在本地構建時獲取輸出。不知道爲什麼它不包括在內。
你能提供例外堆棧嗎? –