// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Mvc.Core
{
public interface IActionDescriptorProvider
{
///
/// Gets the order value for determining the order of execution of providers. Providers execute in
/// ascending numeric value of the property.
///
///
///
/// Providers are executed in an ordering determined by an ascending sort of the property.
/// A provider with a lower numeric value of will have its
/// called before that of a provider with a higher numeric value of
/// . The method is called in the reverse ordering after
/// all calls to . A provider with a lower numeric value of
/// will have its method called after that of a provider
/// with a higher numeric value of .
///
///
/// If two providers have the same numeric value of , then their relative execution order
/// is undefined.
///
///
int Order { get; }
void OnProvidersExecuting([NotNull] ActionDescriptorProviderContext context);
void OnProvidersExecuted([NotNull] ActionDescriptorProviderContext context);
}
}