1

我试图创建一个用户使用SQL成员资格提供者SQL Express。当我使用TransactionScope时,它没有明显的原因提示DTC,我该如何避免它?如何在事务范围(不包含DTC)中使用SQL成员资格?

这里是我的示例代码:

using (var ts = new TransactionScope()) 
{ 
    MembershipCreateStatus status; 
    Membership.CreateUser(username, password, null, null, null, true, out status); 

    var userProfile = ProfileBase.Create(username); 

    userProfile.SetPropertyValue("Fullname", fullname); 
    userProfile.Save(); 

    ts.Complete(); 
} 

BTW,我在检查反射器和每一个成员SQL函数总是关闭它的连接。

+0

另请参见[ASP for .NET成员资格交易](http://stackoverflow.com/q/304692/49942) – ChrisW 2015-01-21 17:08:30

回答

0

如建议here,您可以实现此功能而无需事务。

+0

您的链接中的答案(它似乎是'or Betzalel'on forums.asp.net, )不回答这个问题... – Yoopergeek 2009-10-22 18:25:52

+0

这不是他,我从SO发布了这个问题,我是SharpOne。 – 2009-10-22 20:22:06

+2

国际海事组织并没有真正提供质量的解决方案。如果你的个人资料保存失败会发生什么现在您拥有没有个人资料记录的会员记录。必须有更好的方式... – ryanulit 2012-06-18 17:26:17