| JobFilterScope Enumeration |
Defines values that specify the order in which Hangfire filters
run within the same filter type and filter order.
Namespace: Hangfire.CommonAssembly: Hangfire.Core (in Hangfire.Core.dll) Version: 1.5.0.0
Syntax public enum JobFilterScope
Public Enumeration JobFilterScope
Members
| Member name | Value | Description |
---|
| Global | 10 |
Specifies an order before the Type.
|
| Type | 20 |
Specifies an order after the Global and
before the Method.
|
| Method | 30 |
Specifies an order after the Type.
|
Remarks
Hangfire supports the following types of filters:
-
Client / Server filters, which implement
IClientFilter and IServerFilter
interfaces respectively.
-
State changing filters, which implement the
IElectStateFilter interface.
-
State changed filters, which implement the
IApplyStateFilter interface.
-
Client / Server exception filters, which implement
IClientExceptionFilter or
IServerExceptionFilter interfaces
respectively.
Порядок запуска указанных типов фильтров строго фиксирован, например,
фильтры исключений всегда выполняются после всех остальных фильтров,
а фильтры состояний всегда запускаются внутри клиентских и серверных
фильтров.
Внутри же одного типа фильтров, порядок выполнения сначала определяется
значением Order, а затем значением Scope. Перечисление
JobFilterScope
определяет следующие значения (в порядке, в котором они будут выполнены):
- Global.
- Type.
- Method.
Для примера, клиентский фильтр, у которого свойство Order имеет значение 0,
а значение filter scope равно
Global,
будет выполнен раньше фильтра с тем же самым значением Order,
но c filter scope, равным
Type.
Значения Scope задаются, в основном, в реализациях интерфейса
IJobFilterProvider. Так, класс
JobFilterCollection
определяет значение Scope как
Global.
Порядок выполнения фильтров одинакового типа, с одинаковым значением
Order и с одинаковым scope, не оговаривается.
See Also