Curious about how Hangfire handles jobs. Does each job run in a separate AppDomain? I guess more importantly for me is how it handles job assemblies. Let's say I have 100 different 'clients' submitting jobs into Hangfire. Each client has its own assembly. (Note: My Hangfire server will be hosted by a Windows Service) Over the course of time, if each client Enqueues a job, will all the client assemblies remain loaded into main AppDomain or are jobs (and therefore assemblies) isolated into their own AppDomain?
I'm hoping AppDomains are used for two reasons. First, to keep the number of loaded assemblies at a manageable size. Second, it would be nice in the fact that I could update 'Client A's assembly whenever I wanted without having to stop the Hangfire server/job processing.