title: Is it possible to create an async JsonConverter for Json.Net?
body: <p>We have a scenario where we need to get schema metadata in order (de)serialize objects.  The schema repository only offers async calls.  How can I write a JsonConverter that is asynchronous?  If it's not possible, what alternatives are people using to handle async serialization in an ASP.NET pipeline?</p>
  
  <p>I don't need async loading or saving of the json.  This is async fetching of metadata during the parsing and creation of the json. This allows the deserializer determine concrete and dynamic types and versions to load when parsing the data.</p>
  
  <pre class="lang-cs prettyprint-override"><code>public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
  {
      var metadata = await metadataRepo.GetMetadata(value);
      /* inject custom json formatting from object */
  }
  
  public override override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
  {
      var jobject = JObject.Load(reader);
      var schema = jobject["schema"];
      var metadata = await metadataRepo.GetMetadata(schema);
      /* parse complex json formatting from object */
  }
  </code></pre>