How to use transactions in DotNetNuke?

I am trying to do the simplest thing and apply a transaction to a method CreatePortal.

If I use TransactionScope- it is advancing towards DTC for some unknown reason - BAD.

using (var ts = new TransactionScope())
{
    var portalController = new PortalController();

    var portalId =
        portalController.CreatePortal(
                    "TESTTESTTEST",
                    string.Empty,
                    string.Empty,
                    "TESTTESTTEST_" + new Random().Next(999999),
                    UserController.GeneratePassword(),
                    "TESTTESTTEST_" + new Random().Next(999999) + "@something.com",
                    string.Empty,
                    string.Empty,
                    Globals.ApplicationMapPath + "/Portals/_default/",
                    "Default Website.template",
                    "Portals/TESTTEST",
                    "TESTTESTTEST",
                    string.Empty,
                    string.Empty,
                    false);

    ts.Complete();
}

If I use DataProvider.Instance().GetTransactionand execute RollbackTransactionat the end - this is NOT a ROLLBACK, which means that the transaction does not even work.

var t = Data.DataProvider.Instance().GetTransaction();

var portalController = new PortalController();

var portalId =
    portalController.CreatePortal(
                "TESTTESTTEST",
                string.Empty,
                string.Empty,
                "TESTTESTTEST_" + new Random().Next(999999),
                UserController.GeneratePassword(),
                "TESTTESTTEST_" + new Random().Next(999999) + "@something.com",
                string.Empty,
                string.Empty,
                Globals.ApplicationMapPath + "/Portals/_default/",
                "Default Website.template",
                "Portals/TESTTEST",
                "TESTTESTTEST",
                string.Empty,
                string.Empty,
                false);

Data.DataProvider.Instance().RollbackTransaction(t);

So how to use transactions in DotNetNuke?

+3
source share
2 answers

GetTransaction, DataProvider . , . , , , CreatePortal DNN. , -, , .

, DNN , , . , , (, , ), , , , .

, , , ...

+1

DNN .

, , DNN.

+1

Source: https://habr.com/ru/post/1718564/


All Articles