如何在事务范围内使用 SQL 成员资格(无 DTC)?
我正在尝试使用 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();
}
顺便说一句,我签入了反射器,每个成员资格 SQL 函数总是关闭其连接。
I'm trying to create a user using the SQL membership provider on SQL Express. When I use the TransactionScope
it prompts to DTC with no apparent reason, how can I avoid it?
Here is my example code:
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, I checked in reflector and every membership SQL function always closes its connection.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以按照此处的建议来实现此功能,而无需进行事务。
You can implement this function without a transaction as suggested here.