protected override object InterceptClassMethod(IInvocation invocation) { if (invocation.Method != _Stop) { throw new ArgumentOutOfRangeException(); } return(_Queue.Stop(() => { ActorFactoryBase.Clean(invocation.Proxy); return (_IAsyncDisposable != null) ? _IAsyncDisposable.DisposeAsync() : TaskBuilder.Completed; })); }
public TaskScheduler GetTaskScheduler(object proxy) { return(ActorFactoryBase.GetContextFromProxy(proxy) ?? TaskScheduler.Current ?? TaskScheduler.Default); }