2017-01-18 108 views
1

我有一個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,並且當我在本地構建時獲取輸出。不知道爲什麼它不包括在內。

+0

你能提供例外堆棧嗎? –

回答

1

如果您的項目使用了此dll,請確保您已部署Microsoft.Data.Services.Client dll。

根據我的理解,覆蓋ClaimsAuthenticationManager.Authenticate不需要此dll。而這個錯誤是一個服務器端問題,瀏覽器不會導致這個問題,請確保您使用不同的Web瀏覽器訪問同一個應用程序。

+0

你的第一句話幫助了費雪,現在只是想明白爲什麼它沒有被部署。 – DasDave

相關問題