C# 如何在事务范围内使用SQL成员资格(无DTC)?

C# 如何在事务范围内使用SQL成员资格(无DTC)?,c#,asp.net-membership,sql-server-express,transactionscope,C#,Asp.net Membership,Sql Server Express,Transactionscope,我正在尝试使用SQL Express上的SQL成员资格提供程序创建用户。当我使用TransactionScope时,它会在没有明显原因的情况下提示DTC,我如何避免它 下面是我的示例代码: using (var ts = new TransactionScope()) { MembershipCreateStatus status; Membership.CreateUser(username, password, null, null, null, true, out stat

我正在尝试使用SQL Express上的SQL成员资格提供程序创建用户。当我使用
TransactionScope
时,它会在没有明显原因的情况下提示DTC,我如何避免它

下面是我的示例代码:

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();
}

顺便说一句,我登录了reflector,每个会员资格SQL函数都会关闭其连接。

您可以实现此函数,而无需按照建议进行事务。

您链接中的答案(在forums.asp.net上显示为'Or Betzale')并没有回答问题……不是他,我是从SO发布此问题的,我是SharpOne.IMO,这并不能真正提供高质量的解决方案。如果配置文件保存失败,会发生什么情况?现在您有了一个没有个人资料记录的会员记录。必须有更好的方法…这并不能回答问题,请参见