2 回答

TA貢獻1829條經驗 獲得超7個贊
因此,為了回答您的問題,該Parse
方法使用當前語言環境將您的字符串轉換為整數。我猜在您的情況下,這GetUserID()
將采用您當前語言環境期望逗號作為小數點的格式。因此,提供可選參數CultureInfo.InvariantCulture
將使您的區域設置文化不敏感。另一種方法是提供第二個可選參數來提供IFormatProvider。
要解決您的錯誤,請將此行設置為:
(id)=>Int32.Parse(id.GetUserId(),CultureInfo.InvariantCulture)
有關CultureInfo.InvariantCulture的更多信息。

TA貢獻1826條經驗 獲得超6個贊
回答我的問題。
在我的 startup.auth.cs
如前所述,我遵循了所有 microsoft 文檔。
運行項目時,我不斷收到錯誤消息。
在 CookieAuth 下的 ConfigureAuth() 中添加 CultureInfo 作為第二個參數。
這是我完成的項目代碼。
{
// Enables the application to validate the security stamp when the user logs in.
// This is a security feature which is used when you change a password or add an external login to your account.
OnValidateIdentity = SecurityStampValidator
.OnValidateIdentity<ApplicationUserManager, ApplicationUser, int>
(
validateInterval: TimeSpan.FromMinutes(30),
regenerateIdentityCallback: (manager, user) =>
user.GenerateUserIdentityAsync(manager),
getUserIdCallback:(id) => Int32.Parse(id.GetUserId(),
CultureInfo.InvariantCulture)
//getUserIdCallback:(id) => (Int32.Parse(id.GetUserId()))
)
}
- 2 回答
- 0 關注
- 137 瀏覽
添加回答
舉報