ExpiringClassFactory
Overview
The ExpiringClassFactory abstract class provides privides methods needed by Class Factories that should periodically expire acquired service instances.
For example, PerClientClassFactory class disposes all service instances acquired by a client if there were no requests from this client for some time.
This class doesn't provide any service instance acquiring functionality, as it's main purpose is to provide common expiration timer handling routines.
Location
- Reference: RemObjects.SDK.Server.dll
- Namespace: RemObjects.SDK.Server.ClassFactories
- Platforms: .NET Core, .NET Framework, .NET Standard
- Ancestry: ClassFactory | ExpiringClassFactory
Instance Methods
constructor protected
constructor(serviceClass: Type; activator: IServiceActivator; enforceSessionCheck: Boolean; roles: array of String)
ExpiringClassFactory(Type serviceClass, IServiceActivator activator, Boolean enforceSessionCheck, String[] roles)
init(_ serviceClass: Type, _ activator: IServiceActivator, _ enforceSessionCheck: Boolean, _ roles: String...)
Sub New(serviceClass As Type, activator As IServiceActivator, enforceSessionCheck As Boolean, roles As String())
Parameters:
- serviceClass:
- activator:
- enforceSessionCheck:
- roles:
AcquireInstance (declared in ClassFactory)
method AcquireInstance(clientId: Guid; activate: Boolean := true): IROService
IROService AcquireInstance(Guid clientId, Boolean activate = true)
func AcquireInstance(_ clientId: Guid, _ activate: Boolean = true) -> IROService
Function AcquireInstance(clientId As Guid, activate As Boolean = true) As IROService
Parameters:
- clientId:
- activate:
ActivateInstance protected (declared in ClassFactory)
method ActivateInstance(clientId: Guid; instance: IROService)
void ActivateInstance(Guid clientId, IROService instance)
func ActivateInstance(_ clientId: Guid, _ instance: IROService)
Sub ActivateInstance(clientId As Guid, instance As IROService)
Parameters:
- clientId:
- instance:
CreateInstance (declared in ClassFactory)
method CreateInstance: IROService
IROService CreateInstance()
func CreateInstance() -> IROService
Function CreateInstance() As IROService
DeactivateInstance protected (declared in ClassFactory)
method DeactivateInstance(clientId: Guid; instance: IROService)
void DeactivateInstance(Guid clientId, IROService instance)
func DeactivateInstance(_ clientId: Guid, _ instance: IROService)
Sub DeactivateInstance(clientId As Guid, instance As IROService)
Parameters:
- clientId:
- instance:
Dispose
Stops and disposes the internal timer.
method Dispose
void Dispose()
func Dispose()
Sub Dispose()
DisposeManagedResources protected
method DisposeManagedResources
void DisposeManagedResources()
func DisposeManagedResources()
Sub DisposeManagedResources()
DisposeNativeResources protected
method DisposeNativeResources
void DisposeNativeResources()
func DisposeNativeResources()
Sub DisposeNativeResources()
ExpireInstances protected
Abstract method that is periodically calld by the internal timer.
This method is intended to actually expire outdated service instances and should be redefined in the descendant classes.
method ExpireInstances
void ExpireInstances()
func ExpireInstances()
Sub ExpireInstances()
Finalize protected
method Finalize
void Finalize()
func Finalize()
Sub Finalize()
ReleaseInstance (declared in ClassFactory)
Releases a previously acquired service instance, based on the logic of the class factory implementation.
method ReleaseInstance(clientId: Guid; instance: IROService)
void ReleaseInstance(Guid clientId, IROService instance)
func ReleaseInstance(_ clientId: Guid, _ instance: IROService)
Sub ReleaseInstance(clientId As Guid, instance As IROService)
Parameters:
- clientId:
- instance: