About transactions

Home Page Forums BizTalk 2004 – BizTalk 2010 About transactions

Viewing 1 reply thread
  • Author
    Posts
    • #16056

      I understood ATOMIC and long running concepts but when and which cases should i use Transaction type none?…

      can i handle exceptions (in exception blocks) without scope shape in my orchestration?

    • #16063

      Scopes don't need to be transactional. A non-transactional scope is usefule for error handling (when all you want is to use it as a sort of try{} catch{} block) or simply as a way to declare vairables/messages that are local to a given portion of your orchestration (you can define them at the scope level instead of at the orchestration level).

       And no, you can't add a catch exception block wihout a scope.
       

      • #16077

        a long running transaction can contain atomic transaction why and one more qustion is that non-serializable methods are called only in atomic shape what is  the reason

         

        thanks in advance

         

        • #16079

          A long running transaction is not controlled by the DTC and it's not a 2-phase commit one. Hence, there is no inherent rollback capabilities and you need to use the Compensation facilities in BizTalk to implement it by "undoing" your actions manually.

          Because of this, usually a long running transaction will be composed of a set of discrete steps, some of which can be "independent" atomic transactions.

           As for the serialization stuff, that's because an orchestration cannot be persisted during an atomic transaction (it can be persisted before the transaction begins or right after it commits, but not right in the middle). Because of this, you can safely declare and use non-serializable types within an atomic scope.
           

Viewing 1 reply thread
  • The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.