public void OnProvidersExecuted(ActionDescriptorProviderContext context) { if (context.Results.Count == 0) { throw new InvalidOperationException("No actions found!"); } Interlocked.Increment(ref _callCount); }
/// <inheritdoc /> public void OnProvidersExecuting(ActionDescriptorProviderContext context) { if (context == null) { throw new ArgumentNullException(nameof(context)); } foreach (var descriptor in GetDescriptors()) { context.Results.Add(descriptor); } }
public void OnProvidersExecuting(ActionDescriptorProviderContext context) { foreach (var assembly in _assemblyProvider.CandidateAssemblies) { foreach (var type in assembly.GetExportedTypes()) { var typeInfo = type.GetTypeInfo(); if (typeInfo.IsClass && !typeInfo.IsAbstract && !typeInfo.ContainsGenericParameters && typeof(MvcModule).IsAssignableFrom(type) && type != typeof(MvcModule)) { foreach (var action in GetActions(type)) { context.Results.Add(action); } } } } }
private ActionDescriptorCollection GetCollection() { var providers = _serviceProvider.GetServices<IActionDescriptorProvider>() .OrderBy(p => p.Order) .ToArray(); var context = new ActionDescriptorProviderContext(); foreach (var provider in providers) { provider.OnProvidersExecuting(context); } for (var i = providers.Length - 1; i >= 0; i--) { providers[i].OnProvidersExecuted(context); } return new ActionDescriptorCollection( new ReadOnlyCollection<ActionDescriptor>(context.Results), 0); }
public void OnProvidersExecuting(ActionDescriptorProviderContext context) { }