Чтение содержимого-Расположение: данные формы; имя=»json» с помощью .net core AWS

#amazon-elastic-beanstalk #content-type

Вопрос:

Я интегрировал свое приложение .net-core MVC со сторонней системой для обратного вызова. Когда я размещаю вышеупомянутое приложение в Azure, мой API работает должным образом, но когда я размещаю его в AWS elastic beanstalk, он не работает. В Azure ввод для API осуществляется в виде объекта, но в случае AWS, как показано ниже, ниже приведен запрос, который я получаю от третьей стороны на мой API обратного вызова.

 ------------------------------e2bdba1d3cf0 Content-Disposition: form-data; name="json"  {"Transaction":{"Guid":"[Fax GUID]","To":"14154847140","From":"14154847140","IsInbound":false,"IsDraft":false,"TypeCode":"F","StatusCode":"S","ErrorCode":null,"CreatedAt":"1505933982","UpdatedAt":"1505934022","Uri":"/v1/Accounts/[Your Account GUID]/Transmissions/[Fax GUID]","NumPagesBilled":1}} ------------------------------e2bdba1d3cf0--  

Мой код API

 [HttpPost]  [Route("CallBack")]  public string CallBack()  {  try  {  eSignService eSignService = new eSignService();  dynamic json = new StreamReader(HttpContext.Request.Body).ReadToEndAsync().GetAwaiter().GetResult();  if (json != null)  {  //logic to save the file  }  else  {  _logger.LogInformation("No Data Found");  }  }  catch (Exception ex)  {  _logger.LogInformation("Error : "   ex);  }  string result = "Hello API Event Received";  return result;  }  

Комментарии:

1. EC2 или Azure не будут иметь никакого значения для кода вашего приложения — в чем заключается реальная проблема?

2. Я пытаюсь прочитать данные из тела, используя строку ниже динамический json = новый StreamReader(HttpContext.Request. Тело). ReadToEndAsync(). GetAwaiter().GetResult(); а затем сериализуйте его в объект JSON JsonConvert. Десериализуетобъект(HttpContext.Сеанс. getString(json), где я получаю сообщение об ошибке ниже Microsoft. CSharp.привязка времени выполнения. Исключение RuntimeBinderException: Наилучшее совпадение перегруженного метода для ‘string.this[int]’ содержит некоторые недопустимые аргументы в CallSite. Цель(Закрытие , Узел вызова , Объект , Строка )

3. в azure вывод нижеприведенной строки поступает как объект, но в AWS он поступает как строка динамического json = новый потоковый читатель(HttpContext.Request. Тело). ReadToEndAsync(). GetAwaiter().GetResult();

4. dynamic json — ну да, это так, вы указываете, чтобы у него был dynamic тип

5. делайте string json — для этого нет причин быть динамичным