防止ASP.NET Identity'的UserManager自动保存

 2023-02-15    315  

问题描述

我试图与ASP.NET身份和usermanager集成.我有自己的自定义用户对象,我已添加到框外应用程序. usermanager具有创建()方法(实际上它在usermanagerextsions类中创建新用户.问题是它自动将更改保存到数据库,该数据库已确认这里.我想在保存新用户之前在同一”交易”中进行其他操作,所以我不能自动保存更改.

很有趣的是,我将在dbcontext中覆盖savechange()方法我与usermanager关联,但它永远不会在create()中自动保存的方法中断.

防止ASP.NET Identity'的UserManager自动保存

是否有任何方法可以配置usermanager不要自动保存更改.

推荐答案

此功能已在默认UserStore中实现.因此,您只需要配置它.在ApplicationUserManager.Create()静态方法中,或者您将在将UserStore中的任何位置设置为UserStore,将AutoSaveChanges设置为false.

public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context) 
{
    var manager = new ApplicationUserManager(
        new UserStore<ApplicationUser>(context.Get<ApplicationDbContext>()) 
             { AutoSaveChanges = false });

    // rest of codes
}

以上所述是小编给大家介绍的防止ASP.NET Identity'的UserManager自动保存,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/33800.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。