Как использовать членство в SQL с областью транзакции (без DTC)?

Я пытаюсь создать пользователя с помощью поставщика членства SQL в SQL Express. Когда я использую 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 всегда закрывает свое соединение.


person Or Betzalel    schedule 19.09.2009    source источник
comment
См. также транзакцию для членства в ASP .net.   -  person ChrisW    schedule 21.01.2015


Ответы (1)


Вы можете реализовать эту функцию без транзакции, как предлагается здесь.

person Eran Betzalel    schedule 27.09.2009
comment
Ответ в вашей ссылке (которая выглядит как «Или Бецалель» на forums.asp.net) не отвечает на вопрос... - person Yoopergeek; 22.10.2009
comment
Это не он, я запостил этот вопрос из SO, я SharpOne. - person Eran Betzalel; 23.10.2009
comment
IMO, который на самом деле не обеспечивает качественное решение. Что произойдет, если не удастся сохранить ваш профиль? Теперь у вас есть запись о членстве без записи профиля. Там должен быть лучший способ... - person ryanulit; 18.06.2012
comment
Это действительно не отвечает на вопрос - person Elliott; 11.12.2015