После обновления .NET Core 2.1 до 3.0 веб-интерфейс возвращает пустые объекты - PullRequest
0 голосов
/ 18 октября 2019

После обновления .net core 2.1 до 3.0 веб-интерфейс возвращает пустые объекты. API-маршрутизация работает нормально, и я вижу, что сеть пытается вернуть все объекты. Однако на вкладке сети Chrome я вижу только пустые объекты данных в ответ (но количество объектов соответствует тому, что пытается вернуть сеть).

Пробовал смотреть на проблемы миграции, опубликованные в MSDN, но ни один из них не показалсядля применения в этом сценарии

Аналогичные ответы предлагаются с использованием атрибутов DataContract / DataMember, но это не помогает.

Модель данных

public class FileDataModel
    {
        public double sNo;
        public DateTime createdDate;
        public string FileName;        

        public FileDataModel(DataRow data)
        {
            sNo = (data["Sno"] == DBNull.Value) ? -1 : (double)data["Sno"];
            createdDate = (DateTime)data["Date"];
            FileName = (string)data["FileName"];           
        }
    }

Контроллер API (библиотека классов .NET 4.7.2)

[Route("api/[controller]")]
    [ApiController]
    public class DataController : ControllerBase
    {

        static DataController()
        {            
        }

        // GET api/values
        [HttpGet]
        public ActionResult<IEnumerable<FileDataModel>> Get()
        {
            List<FileDataModel> data = FileData.getAllData();
            return data;
        }
    }

.NET Core Project - Startup.cs

services.AddMvc().AddApplicationPart(Assembly.Load("WebApi")).AddControllersAsServices();

ОжидаетсяВ результате все объекты FileDataModel получены с полными данными, но я получаю

[{},{},{},{},{},{},{},{},{},{},{}]

1 Ответ

0 голосов
/ 26 октября 2019

Проблема заключалась в том, что FileDataModel не выставлял переменные как открытые свойства. Как только я это изменил, он работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...