Q: hangfire convert parameter to json(Serialize)? When I login, the program creates an instance of InstaSharper (named :IInstaApi) that contains httpclient, httpclienthandeler, ...
And when I use this 
  AddFollower adf = new AddFollower();
  RecurringJob.AddOrUpdate("addfollow", () => adf.AddFollowerState(2,IInstaApi), "*/10 * * * *", TimeZoneInfo.Local, "default");

Hangfire when it sends those values TO create job, hangfire Serializes them (destroy my object and its not my object any more after DeSerialize ) 
what should I do so that my method that is used in Hangfire only has 2 parameter one int and one InstaApi?
what should I do? In the document it says I should use IOC but I don't know how I can use that 

A: You need to make your recurring job statically available and absolutely context-independent.
Just create a static method which will contain the whole logic and do all the job:
  public class AddFollowerJob
  {
      public static void Run() 
      { 
          AddFollower adf = new AddFollower();
          // do whatever you want here with adf
          // initialize API here
          adf.AddFollowerState(2, IInstaApi); 
          // handle results here
      }
  }

  RecurringJob.AddOrUpdate("addfollow", () => AddFollowerJob.Run(), "*/10 * * * *", TimeZoneInfo.Local, "default");

The main idea is that Hangfire serializes your method call Expression into database and it must be context-independent, so that any server (even remote) can run this code.   
It is a good idea to use IoC containers to not store these dependencies right in code, but it is not necessary. Just make sure that a method you pass to Hangfire is self-sufficient and independent.
