This solves an issue where the Dashboard site would not be able to run in IIS, due to an IIS filter that expects a IISServer instance, while it was being decorated with a custom type.
Fortunately, as of .NET Core 3, background hosted services now execute before the server starts, which makes them perfect for async initialization.
* Added MySqlContext
* Added MySqlContextFactory
* Added Pomelo.EntityFrameworkCore.MySql nuget package
* Added initial MySqlContext migrations
* Added support for creating derived ElsaContexts:
- Added new protected constructor based on following post
- https://github.com/dotnet/efcore/issues/7533
* Added Sample 24 - MySql provider with migration execution
* Updated other samples that needed to define the derived ElsaContext
* Added summary to ElsaContext constructor
* Updated persistence/Elsa.Persistence.EntityFrameworkCore MD file with MySql example
* Added PostgreSql support to Elsa.Persistence.EntityFrameworkCore via Npgsql.
* Customize Elsa.Persistence.EntityFrameworkCore Migrations and Schema.
* Added Context factory in Sample23 to use the IDbContextCustomSchema.
* Refactor the Custom Schema support to use the EFCore IDbContextOptionsExtension.
* Variables are now stored including their type name for automatic deserialization into their actual type. This is important for use in expressions.
* **SplitObject** and **ExecuteMethod** now use workflow expressions instead of variable names. This allows for more flexibility.
* Improved **Join** activity to allow proper function within looping constructs.
* Improved Variables performance. Variables are no longer serialized/deserialized upon writing/reading perspectively, only when the workflow instance is persisted.
* Correlate messages to workflow instances
Looks like it is really important to correlate masstransit messages to workflow instances. I have updated the demo to show this as I ran a few in parallel and several errors were occurring.
* Use concurrent dictionary for memory instance store
* Fix issue #134 where consumer could not be created
* Fix issue where message was null in ReceiveMassTransitMessage
input variables are case sensitive
* Add simple test script to execute the workflow
* Add message type as input from consumer
* Allow passwords to be specified in amqp URI
* Fixed issue in ActivityResolver where multiple registrations of the same workflow type would cause dup key exception
* Updated Sample12 to remove AddUserTaskActivities() call, as this is now done in AddElsa()
* Fix many things. Few more samples left to fix
* Fix all the samples
* Introduce service configurator
* Implement cache signaling and refreshing workflow registry
* Add Sample16 demonstrating dashboard + workflow host combined
* Bugfix where non-published versions of worklows are triggered
* Removed cruft
* Consolidated activity driver with activity
* Incremental work on serialization
* Incremental work on serialization
* WIP
* Incremental work on strongly typed defined workflows
* Removed old samples and added new ones
* Updated primitives and improved workflow builder API
* WIP (broken)
* Coded workflow API improvements
* Fixed Email and Http libraries
* Fixed start activity issue