public TransactionChannelListener(System.ServiceModel.TransactionProtocol transactionProtocol, IDefaultCommunicationTimeouts timeouts, Dictionary <DirectionalAction, TransactionFlowOption> dictionary, IChannelListener <TChannel> innerListener) : base(timeouts, innerListener)
 {
     this.dictionary          = dictionary;
     this.TransactionProtocol = transactionProtocol;
     base.Acceptor            = new TransactionChannelAcceptor <TChannel>((TransactionChannelListener <TChannel>) this, innerListener);
     this.standardsManager    = SecurityStandardsHelper.CreateStandardsManager(this.TransactionProtocol);
 }
Ejemplo n.º 2
0
        private void InitializeFrom(TcpTransportBindingElement transport, BinaryMessageEncodingBindingElement encoding, TransactionFlowBindingElement context, ReliableSessionBindingElement session)
        {
            // TODO: Fx.Assert(transport != null, "Invalid (null) transport value.");
            // TODO: Fx.Assert(encoding != null, "Invalid (null) encoding value.");
            // TODO: Fx.Assert(context != null, "Invalid (null) context value.");
            // TODO: Fx.Assert(security != null, "Invalid (null) security value.");

            // transport
            this.HostNameComparisonMode = transport.HostNameComparisonMode;
            this.MaxBufferPoolSize      = transport.MaxBufferPoolSize;
            this.MaxBufferSize          = transport.MaxBufferSize;

            this.MaxReceivedMessageSize = transport.MaxReceivedMessageSize;
            this.PortSharingEnabled     = transport.PortSharingEnabled;
            this.TransferMode           = transport.TransferMode;

            // encoding
            this.ReaderQuotas = encoding.ReaderQuotas;

            // context
            this.TransactionFlow     = context.Transactions;
            this.TransactionProtocol = context.TransactionProtocol;

            //session
            if (session != null)
            {
                // only set properties that have standard binding manifestations
                _session.InactivityTimeout = session.InactivityTimeout;
                _session.Ordered           = session.Ordered;
            }
        }
Ejemplo n.º 3
0
 public TransactionChannelFactory(System.ServiceModel.TransactionProtocol transactionProtocol, BindingContext context, Dictionary <DirectionalAction, TransactionFlowOption> dictionary, bool allowWildcardAction) : base(context.Binding, context.BuildInnerChannelFactory <TChannel>())
 {
     this.dictionary          = dictionary;
     this.TransactionProtocol = transactionProtocol;
     this.allowWildcardAction = allowWildcardAction;
     this.standardsManager    = SecurityStandardsHelper.CreateStandardsManager(this.TransactionProtocol);
 }
Ejemplo n.º 4
0
        public static void WriteTransactionDataToMessage(TransactionProtocol protocol, string fileName)
        {
            object transactionFormatter = null;
            if (protocol == TransactionProtocol.OleTransactions)
            {
                transactionFormatter = RefUtil.CreateInstance<object>(OleTxTransactionFormatter);
            }
            else if (protocol == TransactionProtocol.WSAtomicTransactionOctober2004)
            {
                transactionFormatter = RefUtil.CreateInstance<object>(WsatTransactionFormatter10);
            }
            else
            {
                transactionFormatter = RefUtil.CreateInstance<object>(WsatTransactionFormatter11);
            }

            Type type = Type.GetType(TransactionFormatter);
            Message message = Message.CreateMessage(MessageVersion.Default, "http://www.artech.com/writetransaction", Transaction.Current);
            RefUtil.Invoke(type,"WriteTransaction",transactionFormatter,new object[]{Transaction.Current, message});
            using (XmlWriter writer = new XmlTextWriter(fileName, Encoding.UTF8))
            {
                message.WriteMessage(writer);
            }
            Process.Start(fileName);
        }
Ejemplo n.º 5
0
 internal static bool IsDefined(TransactionProtocol transactionProtocol)
 {
     if ((transactionProtocol != OleTransactions) && (transactionProtocol != WSAtomicTransactionOctober2004))
     {
         return(transactionProtocol == WSAtomicTransaction11);
     }
     return(true);
 }
 internal static bool IsDefined(TransactionProtocol transactionProtocol)
 {
     if ((transactionProtocol != OleTransactions) && (transactionProtocol != WSAtomicTransactionOctober2004))
     {
         return (transactionProtocol == WSAtomicTransaction11);
     }
     return true;
 }
 public static SecurityStandardsManager CreateStandardsManager(TransactionProtocol transactionProtocol)
 {
     if ((transactionProtocol != TransactionProtocol.WSAtomicTransactionOctober2004) && (transactionProtocol != TransactionProtocol.OleTransactions))
     {
         return SecurityStandardsManager2007;
     }
     return SecurityStandardsManager.DefaultInstance;
 }
 internal TransactionFlowBindingElement(bool transactions, System.ServiceModel.TransactionProtocol transactionProtocol)
 {
     this.transactions = transactions;
     this.issuedTokens = transactions ? TransactionFlowOption.Allowed : TransactionFlowOption.NotAllowed;
     if (!System.ServiceModel.TransactionProtocol.IsDefined(transactionProtocol))
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(System.ServiceModel.SR.GetString("ConfigInvalidTransactionFlowProtocolValue", new object[] { transactionProtocol.ToString() }));
     }
     this.transactionProtocol = transactionProtocol;
 }
 private TransactionFlowBindingElement(TransactionFlowBindingElement elementToBeCloned) : base(elementToBeCloned)
 {
     this.transactions = elementToBeCloned.transactions;
     this.issuedTokens = elementToBeCloned.issuedTokens;
     if (!System.ServiceModel.TransactionProtocol.IsDefined(elementToBeCloned.transactionProtocol))
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(System.ServiceModel.SR.GetString("ConfigInvalidTransactionFlowProtocolValue", new object[] { elementToBeCloned.transactionProtocol.ToString() }));
     }
     this.transactionProtocol = elementToBeCloned.transactionProtocol;
     this.AllowWildcardAction = elementToBeCloned.AllowWildcardAction;
 }
 static void TrackAgreementTransactionProtocol(ref bool everyoneAgrees, TransactionProtocol option,
                                       ref TransactionProtocol agreedOption, ref bool anOperationCares)
 {
     if (!anOperationCares)
     {
         // this is the first operation to express a preference
         agreedOption = option;
         anOperationCares = true;
         // everyoneAgrees is still true
     }
     else
     {
         if (option != agreedOption)
             everyoneAgrees = false;
     }
 }
Ejemplo n.º 11
0
		static TransactionProtocol ()
		{
			wsat = new WSAtomicTransactionProtocol ();
			oletx = new OleTransactionProtocol ();
		}
Ejemplo n.º 12
0
 internal static bool IsDefined(TransactionProtocol transactionProtocol)
 {
     return(transactionProtocol == TransactionProtocol.OleTransactions ||
            transactionProtocol == TransactionProtocol.WSAtomicTransactionOctober2004 ||
            transactionProtocol == TransactionProtocol.WSAtomicTransaction11);
 }
 internal static bool IsDefined(TransactionProtocol transactionProtocol)
 {
     return transactionProtocol == TransactionProtocol.OleTransactions ||
            transactionProtocol == TransactionProtocol.WSAtomicTransactionOctober2004 ||
            transactionProtocol == TransactionProtocol.WSAtomicTransaction11;
 }
Ejemplo n.º 14
0
 static TransactionProtocol()
 {
     wsat  = new WSAtomicTransactionProtocol();
     oletx = new OleTransactionProtocol();
 }
 public TransactionFlowBindingElement(System.ServiceModel.TransactionProtocol transactionProtocol) : this(true, transactionProtocol)
 {
 }