У меня есть два решения: одно - веб-приложение MVC5, а другое - веб-приложение MVC core 2.2, которое выступает в качестве базовой веб-формы.
Я пытаюсь опубликовать данные веб-формы (используя ViewModel) в API веб-приложения MVC5.
Код
Метод POST в веб-приложении MVC5 / api
// POST
[HttpPost]
public IHttpActionResult Post([FromBody] WebFormDataVM personData)
{
// logic here
}
Основная веб-форма MVC (публикация выше)
[HttpPost]
public async Task<ActionResult> Create(PersonVM personData)
{
var path = "api/WebForm/Post";
var url = new Uri("http://localhost:60291/");
var client = new HttpClient();
client.BaseAddress = url;
var response = await client.PostAsJsonAsync(path, personData);
return RedirectToAction("Index");
}
Выпуск
При публикации viewmodel
параметр API метода POST
(WebformDataVM personData)
всегда равен null
.
Я попробовал точно такую же настройку, но использую проект / решение MVC5 вместо ядра, и он работает без сбоев.
Что я пробовал
Отправка строки вместо представления модели объекта
Удаление HTTPS из основного проекта .net (через параметры проекта)
Любая помощь будет принята с благодарностью.