IIS ASP.NET Trouble Shooting
▌背景
在IIS的Website執行ASP.NET Identity 非同步的程式碼時,出現以下錯誤訊息:
System.Security.Cryptography.CryptographicException: 資料保護作業失敗。這可能是未針對目前執行緒的使用者內容載入使用者設定檔所造成,當執行緒正在模擬時就可能有這種情況。
|
原因在於使用 Microsoft.Owin.Security.DataProtection.IDataProtectionProvider 建立Token的Provider時不是Singleton的物件, 因此解決方式有二。
▌解決方式
有兩個解決方式,第二個直接調整程式碼是比較建議的方式。
2.
將Microsoft.Owin.Security.DataProtection.IDataProtectionProvider
設為Static
private static IDataProtectionProvider provider =
new Microsoft.Owin.Security.DataProtection.DpapiDataProtectionProvider("ASP.NET Identity"); |
▌Reference
沒有留言:
張貼留言