Exemple #1
0
        public void InitTwice()
        {
            DelayActivity              da         = new DelayActivity();
            CorrelationToken           ct         = new CorrelationToken();
            List <CorrelationProperty> properties = new List <CorrelationProperty> ();

            ct.Initialize(da, properties);
            ct.Initialize(da, properties);
        }
Exemple #2
0
        internal static void InvalidateCorrelationToken(Activity activity, Type interfaceType, string methodName, object[] messageArgs)
        {
            object correlationProvider = CorrelationResolver.GetCorrelationProvider(interfaceType);

            if (correlationProvider is NonCorrelatedProvider)
            {
                return;
            }

            CorrelationToken reference = GetCorrelationToken(activity);
            ICollection <CorrelationProperty> correlationvalues = CorrelationResolver.ResolveCorrelationValues(interfaceType, methodName, messageArgs, false);

            if (!CorrelationResolver.IsInitializingMember(interfaceType, methodName, messageArgs))
            {
                if (!reference.Initialized)
                {
                    throw new InvalidOperationException(SR.GetString(SR.Error_CorrelationNotInitialized, reference.Name, activity.QualifiedName));
                }
                ValidateCorrelation(reference.Properties, correlationvalues, reference.Name, activity);
                return;
            }

            // invalidate correlation token if methodName is an initializer
            reference.Initialize(activity, correlationvalues);
        }
Exemple #3
0
        public void Initialize()
        {
            DelayActivity              da         = new DelayActivity();
            CorrelationToken           ct         = new CorrelationToken();
            List <CorrelationProperty> properties = new List <CorrelationProperty> ();

            ct.Initialize(da, properties);
            Assert.AreEqual(true, ct.Initialized, "C3#1");
        }
 internal static void InvalidateCorrelationToken(Activity activity, Type interfaceType, string methodName, object[] messageArgs)
 {
     if (!(CorrelationResolver.GetCorrelationProvider(interfaceType) is NonCorrelatedProvider))
     {
         CorrelationToken correlationToken = GetCorrelationToken(activity);
         ICollection <CorrelationProperty> followerProperties = CorrelationResolver.ResolveCorrelationValues(interfaceType, methodName, messageArgs, false);
         if (!CorrelationResolver.IsInitializingMember(interfaceType, methodName, messageArgs))
         {
             if (!correlationToken.Initialized)
             {
                 throw new InvalidOperationException(SR.GetString("Error_CorrelationNotInitialized", new object[] { correlationToken.Name, activity.QualifiedName }));
             }
             ValidateCorrelation(correlationToken.Properties, followerProperties, correlationToken.Name, activity);
         }
         else
         {
             correlationToken.Initialize(activity, followerProperties);
         }
     }
 }