title: Configure Hangfire serialization to handle polymorphic arguments?
body: <p>I'm trying to adapt Hangfire to match different paradigm using polymorphic messages with single handler. 
  Let me give some pseudo-code:</p>
  
  <pre><code>public class Message {}
  public class MessageA: Message { public string FieldA: int }
  public class MessageB: Message { public string FieldB: int }
  
  class Handler {
     public void Execute(message: Message);
  }
  
  BackgroundJob.Enqueue&lt;Handler&gt;(h =&gt; h.Execute(new MessageB()));
  </code></pre>
  
  <p>It seems like Hangfire is deserializing <code>MessageB</code> as <code>Message</code> because this is a declared type in <code>Handler.Execute</code>.</p>
  
  <p>Can I setup Hangfire to include actual type information?
  I managed to this somehow by messing with JsonSerializer settings but I broke serialization in some other parts of the system. 
  Can argument serialization options be configured separately?
  Hangfire stores assembly version </p>