/// <summary> /// create a workspace in which transaction is automatically managed and has the same life cycle as conversation /// </summary> /// <param name="states"></param> /// <param name="currentWorkSpaceName"></param> /// <returns></returns> public static WorkSpace Create(NameValueCollection states, string currentWorkSpaceName) { string cid = GetWorkSpaceState(states, ConversationIdKeyName, currentWorkSpaceName); if (!string.IsNullOrEmpty(cid)) { AbstractConversation c = ConversationPool.Instance[new Guid(cid)]; c.Reconnect(); return(new WorkSpace(c)); } else { AbstractConversation c = new BurrowFramework().BurrowEnvironment.Configuration.ManualTransactionManagement ? (AbstractConversation) new ConversationWithManualTransactionImpl() : new ConversationWithManagedTransactionImpl(); return(new WorkSpace(c)); } }