示例#1
0
        /// <summary>
        /// <para>
        /// Instantiates a <see cref="System.Fabric.Description.ServiceTypeDescription" /> class with specified service description kind.
        /// </para>
        /// </summary>
        /// <param name="kind">
        /// <para>The service description kind.</para>
        /// </param>
        protected internal ServiceTypeDescription(ServiceDescriptionKind kind)
        {
            this.ServiceTypeKind = kind;

            // Needs to be initialized as empty list as native serializer does not work well with null.
            this.Policies = new List <ServicePlacementPolicyDescription>();
        }
示例#2
0
 /// <summary>
 /// <para>Initialize an instance of <see cref="System.Fabric.Description.ServiceDescription" /> with service kind.</para>
 /// </summary>
 /// <param name="kind">
 /// <para>Describe the kind of service type.</para>
 /// </param>
 protected ServiceDescription(ServiceDescriptionKind kind)
 {
     this.Kind = kind;
     this.PlacementConstraints         = string.Empty;
     this.isDefaultMoveCostSpecified   = false;
     this.defaultMoveCost              = MoveCost.Low;
     this.ServicePackageActivationMode = ServicePackageActivationMode.SharedProcess;
 }
示例#3
0
        internal static Type ResolveDerivedClass(ServiceDescriptionKind kind)
        {
            switch (kind)
            {
            case ServiceDescriptionKind.Stateless:
                return(typeof(StatelessServiceDescription));

            case ServiceDescriptionKind.Stateful:
                return(typeof(StatefulServiceDescription));

            default:
                return(null);
            }
        }
示例#4
0
        public static ServiceTypeDescription CreateRandomServiceTypeDescription(this Random random)
        {
            ServiceTypeDescription result;
            ServiceDescriptionKind kind = random.CreateRandom <ServiceDescriptionKind>();

            switch (kind)
            {
            case ServiceDescriptionKind.Stateful:
                result = random.CreateRandom <StatefulServiceTypeDescription>();
                break;

            case ServiceDescriptionKind.Stateless:
                result = random.CreateRandom <StatelessServiceTypeDescription>();
                break;

            default:
                return(null);
            }

            result.ServiceTypeKind = kind;
            return(result);
        }
示例#5
0
 /// <summary>
 /// <para>
 /// Initializes a new instance of the <see cref="System.Fabric.Description.ServiceUpdateDescription" /> class with no changes specified.
 /// The relevant properties must be explicitly set to specify changes.
 /// </para>
 /// </summary>
 /// <param name="kind">
 /// <para>
 /// The kind specifies the derived type of this instance
 /// (e.g. <see cref="System.Fabric.Description.StatelessServiceUpdateDescription" /> or <see cref="System.Fabric.Description.StatefulServiceUpdateDescription" />).
 /// </para>
 /// </param>
 protected ServiceUpdateDescription(ServiceDescriptionKind kind)
 {
     this.Kind = kind;
 }