В настоящее время я работаю над приложением .NET Framework 4.7.2.Мне нужно вызвать контроллер Web API из моего кода C #.
Я обновляю динамический объект, я не могу создать какую-либо модель представления. Динамический объект имеет следующую структуру и будет динамически заполняться различными ключами:
List<KeyValuePair<int,Dictionary<string, object>>>
Код вызова выглядит так:
var task = Task.Run(async () => await UpdateMyInformation(myDynamicObject));
var test = task.Result;
Реализация метода:
private async Task<dynamic> UpdateMyInformation(dynamic data)
{
var content = new StringContent(JsonConvert.SerializeObject(data).ToString(),
Encoding.UTF8, "application/json");
var baseUrl = "http://localhost:1234/api/MyInformationController";
using (HttpClient client = new HttpClient())
{
var response = await client.PutAsync(baseUrl, content);
response.EnsureSuccessStatusCode();
var result = response.Content.ReadAsStringAsync().Result;
return result;
}
}
Контроллер API выглядит так:
public class MyInformationController : ApiController
{
[HttpPut]
public async Task<dynamic> Put(dynamic myData)
{
// I need to parse data and return the new dynamic object
// Manipulate myData according to a given logic
return myData;
}
}
Я могу получить данные в своем действии контроллера, мой вопрос: должен ли я использовать динамический метод для добавления объекта JSON в мой контроллер?
Что может быть лучшим подходом для решения этой проблемы?