Beispiel #1
0
 public void AddActivation(ActivationId act, SiloAddress silo)
 {
     if (SingleInstance && (Instances.Count > 0) && !Instances.ContainsKey(act))
     {
         throw new InvalidOperationException(
                   "Attempting to add a second activation to an existing grain in single activation mode");
     }
     Instances[act] = new ActivationInfo(silo);
     VersionTag     = rand.Next();
 }
 public bool AddActivation(ActivationId act, SiloAddress silo)
 {
     if (SingleInstance && (Instances.Count > 0) && !Instances.ContainsKey(act))
     {
         throw new InvalidOperationException(
             "Attempting to add a second activation to an existing grain in single activation mode");
     }
     IActivationInfo info;
     if (Instances.TryGetValue(act, out info))
     {
         if (info.SiloAddress.Equals(silo))
         {
             // just refresh, no need to generate new VersionTag
             return false;
         }
     }
     Instances[act] = new ActivationInfo(silo);
     VersionTag = rand.Next();
     return true;
 }
        public bool AddActivation(ActivationId act, SiloAddress silo)
        {
            if (SingleInstance && (Instances.Count > 0) && !Instances.ContainsKey(act))
            {
                throw new InvalidOperationException(
                          "Attempting to add a second activation to an existing grain in single activation mode");
            }
            IActivationInfo info;

            if (Instances.TryGetValue(act, out info))
            {
                if (info.SiloAddress.Equals(silo))
                {
                    // just refresh, no need to generate new VersionTag
                    return(false);
                }
            }
            Instances[act] = new ActivationInfo(silo, MultiClusterStatus.Owned);
            VersionTag     = rand.Next();
            return(true);
        }
 public ActivationInfo(ActivationInfo iActivationInfo)
 {
     SiloAddress = iActivationInfo.SiloAddress;
     TimeCreated = iActivationInfo.TimeCreated;
 }