/// <summary> /// Creates a new stateful service. /// </summary> /// <param name="serviceContext"> /// A <see cref="StatefulServiceContext"/> describes the service context, which it provides information like replica ID, partition ID, and service name. /// </param> /// <param name="stateProviderReplica"> /// A <see cref="IStateProviderReplica2"/> represents a reliable state provider replica. /// </param> /// <exception cref="ArgumentNullException"></exception> protected StatefulServiceBase( StatefulServiceContext serviceContext, IStateProviderReplica2 stateProviderReplica) { if (serviceContext == null) { throw new ArgumentNullException(nameof(serviceContext)); } if (stateProviderReplica == null) { throw new ArgumentNullException(nameof(stateProviderReplica)); } this.stateProviderReplica = stateProviderReplica; this.stateProviderReplica.OnDataLossAsync = this.OnDataLossAsync; this.stateProviderReplica.OnRestoreCompletedAsync = this.OnRestoreCompletedAsync; this.restoreContext = new RestoreContext(this.stateProviderReplica); this.serviceContext = serviceContext; this.addresses = new ReadOnlyDictionary<string, string>(new Dictionary<string, string>()); }
public InternalStatefulService(StatefulServiceContext serviceContext, IStateProviderReplica2 stateProviderReplica) : base(serviceContext, stateProviderReplica) { }
public SealedStatefulService(StatefulServiceContext serviceContext, IStateProviderReplica2 stateProviderReplica) : base(serviceContext, stateProviderReplica) { }