public static void MarshalServiceInstance(IReactiveService target, IReactiveService source) { Debug.Assert(target.Runnable is AppDomainRunnable); Debug.Assert(source.Runnable is AppDomainRunnable); ((AppDomainRunnable)target.Runnable).Marshal(source.GetInstance <object>()); }
public void Register(IReactiveService service) { if (service == null) { throw new ArgumentNullException(nameof(service)); } switch (service.ServiceType) { case ReactiveServiceType.QueryCoordinator: RegisterQueryCoordinator((IReactiveQueryCoordinator)service); break; case ReactiveServiceType.QueryEvaluator: RegisterQueryEvaluator((IReactiveQueryEvaluator)service); break; case ReactiveServiceType.MetadataService: RegisterMetadataService((IReactiveMetadataService)service); break; case ReactiveServiceType.MessagingService: RegisterMessagingService((IReactiveMessagingService)service); break; case ReactiveServiceType.StateStoreService: RegisterStateStoreService((IReactiveStateStoreService)service); break; case ReactiveServiceType.KeyValueStoreService: RegisterKeyValueStoreService((IKeyValueStoreService)service); break; default: RegisterOtherService(service); break; } }
protected virtual void RegisterOtherService(IReactiveService service) { }