Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeremydmiller/2721630d6bd7679c1297f39ce93f188b to your computer and use it in GitHub Desktop.
Save jeremydmiller/2721630d6bd7679c1297f39ce93f188b to your computer and use it in GitHub Desktop.
Wolverine Handler Discovery
── Wolverine Handlers ──────────────────────────────────────────────────────────────────────────────────────────────────
Handler Discovery Rules
├── Assemblies
│ └── OrderSagaSample
├── Handler Type Rules
│ ├── Include:
│ │ ├── Name ends with 'Handler'
│ │ ├── Name ends with 'Consumer'
│ │ ├── Inherits from Wolverine.Saga
│ │ ├── Implements Wolverine.IWolverineHandler
│ │ ├── Has attribute Wolverine.Attributes.WolverineHandlerAttribute
│ │ └── Has attribute Wolverine.Marten.MartenCommandWorkflowAttribute
│ └── Exclude:
│ ├── Is not a public type
│ └── Has attribute Wolverine.Attributes.WolverineIgnoreAttribute
└── Handler Method Rules
├── Include:
│ ├── Method name is 'Handle' (case sensitive)
│ ├── Method name is 'HandleAsync' (case sensitive)
│ ├── Method name is 'Handles' (case sensitive)
│ ├── Method name is 'HandlesAsync' (case sensitive)
│ ├── Method name is 'Consume' (case sensitive)
│ ├── Method name is 'ConsumeAsync' (case sensitive)
│ ├── Method name is 'Consumes' (case sensitive)
│ ├── Method name is 'ConsumesAsync' (case sensitive)
│ ├── Method name is 'Orchestrate' (case sensitive)
│ ├── Method name is 'OrchestrateAsync' (case sensitive)
│ ├── Method name is 'Orchestrates' (case sensitive)
│ ├── Method name is 'OrchestratesAsync' (case sensitive)
│ ├── Method name is 'Start' (case sensitive)
│ ├── Method name is 'StartAsync' (case sensitive)
│ ├── Method name is 'Starts' (case sensitive)
│ ├── Method name is 'StartsAsync' (case sensitive)
│ ├── Method name is 'StartOrHandle' (case sensitive)
│ ├── Method name is 'StartOrHandleAsync' (case sensitive)
│ ├── Method name is 'StartsOrHandles' (case sensitive)
│ ├── Method name is 'StartsOrHandlesAsync' (case sensitive)
│ ├── Method name is 'NotFound' (case sensitive)
│ ├── Method name is 'NotFoundAsync' (case sensitive)
│ └── Has attribute [WolverineHandler]
└── Exclude:
├── Method is declared by object
├── IDisposable.Dispose()
├── IAsyncDisposable.DisposeAsync()
├── Contains Generic Parameters
├── Special Name
├── Has attribute [WolverineIgnore]
├── Has no arguments
├── Cannot determine a valid message type
└── Returns a primitive type
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment