1 // Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
2 
3 using System.Collections.Generic;
4 
5 namespace System.Web.Mvc
6 {
7     public class ControllerInstanceFilterProvider : IFilterProvider
8     {
GetFilters(ControllerContext controllerContext, ActionDescriptor actionDescriptor)9         public IEnumerable<Filter> GetFilters(ControllerContext controllerContext, ActionDescriptor actionDescriptor)
10         {
11             if (controllerContext.Controller != null)
12             {
13                 // Use FilterScope.First and Order of Int32.MinValue to ensure controller instance methods always run first
14                 yield return new Filter(controllerContext.Controller, FilterScope.First, Int32.MinValue);
15             }
16         }
17     }
18 }
19