asp.net-identity交易问题
发布时间:2021-03-30 17:09:08 所属栏目:asp.Net 来源:互联网
导读:我想在同一个事务中创建一个具有角色的用户,但我对实现有一个问题.为了在事务中使用userStore并让它不自动保存更改并忽略我的事务,我必须关闭AutoSaveChanges.这使它等到我调用保存更改.这工作正常,但因为当我调用manager.Create时,用户现在不会返回userId,因
我想在同一个事务中创建一个具有角色的用户,但我对实现有一个问题.为了在事务中使用userStore并让它不自动保存更改并忽略我的事务,我必须关闭AutoSaveChanges.这使它等到我调用保存更改.这工作正常,但因为当我调用manager.Create时,用户现在不会返回userId,因为这是关闭我没有ID传递到userManager.AddToRole.有没有办法将我想要创建的用户添加到同一事务中的角色? 解决方法如果您手动启动交易,然后提交,交易中写入数据库的所有内容都将保留在您的交易中.如果你愿意,你可以回滚.做那样的事情: var dbContext = // get instance of your ApplicationDbContext var userManager = // get instance of your ApplicationUserManager using (var transaction = dbContext.Database.BeginTransaction(IsolationLevel.ReadCommitted)) { try { var user = // crate your ApplicationUser var userCreateResult = await userManger.CreateAsync(user,password); if(!userCreateResult.Succeeded) { // list of errors in userCreateResult.Errors transaction.Rollback(); return userCreateResult.Errors; } // new Guid for user now saved to user.Id property var userId = user.Id; var addToRoleresult = await userManager.AddToRoleAsync(user.Id,"My Role Name"); if(!addToRoleresult.Succeeded) { // deal with errors transaction.Rollback(); return addToRoleresult.Errors; } // if we got here,everything worked fine,commit transaction transaction.Commit(); } catch (Exception exception) { transaction.Rollback(); // log your exception throw; } } 希望这可以帮助. (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – NHibernate – ManagedWebSessionContext和WebS
- 模型 – 视图 – 控制器 – ASP.NET WebForms vs MVC [VS20
- asp.net-mvc – 删除布局将默认为_ViewStart,为什么找不到部
- 在ASP.NET中,获取基本UR1请求的最快方法是什么?
- c#中分布方法和分部类
- asp.net – 访问asp:从代码背后的内容
- asp.net-mvc – ASP.NET MVC现在是“开源”.这是一件好事吗
- asp.net core webapi 服务端配置跨域的实例
- asp.net-mvc – 只发布控制器
- asp.net简单生成XML文件的方法
推荐文章
站长推荐
- asp.net – Stripe Webhook事件续订订阅
- asp.net-core – ASP.Net核心maxUrlLength
- 如何以编程方式将ListItems添加到ASP.NET中的Dro
- asp.net+ajaxfileupload.js 实现文件异步上传代码
- asp.net-mvc – 使用Entity FrameWork保存更改/更
- .Net Web开发技术栈
- global-variables – MVC 3 Razor _ViewStart中的
- asp.net – WebForms:MasterPages中的动态(或绝
- asp.net-mvc – 保存后显示相同的页面
- 下载期间的ASP.net内存使用情况
热点阅读