Отфильтровать объект с помощью свойства исключения - PullRequest
0 голосов
/ 06 сентября 2018

В настоящее время я выполняю серию HTTP-запросов, синхронно, в цикле, а затем сохраняю результат каждого из них в соответствующем индексе.

Если HTTP-запрос является 200, я должен получить ответмодель, которая выглядит примерно так:

{
    Item: { ... },
    Removed: true
}

Однако существует вероятность того, что элемент может выйти из строя и выдать HttpResponseException, и в этом случае моя модель вернется как:

{
    Exception: {ExceptionServices.ExceptionDispatchInfo},
    Item: { ... },
    Removed: true
}

Код вызова выглядит следующим образом:

if (response.StatusCode == HttpStatusCode.NotFound)
{
    var exception = new HttpResponseException("ExceptionThrown!");
    throw exception;
}

Во-первых, почему C # добавляет свойство Exception в мою модель?

Во-вторых, если я хочу отфильтровать все результаты на основе результатов, которые не генерируют исключения, как бы мне этого добиться?Я пытался сделать:

return results
    .Where(result => result != null)
    .Select(result => new MyModel
    {
        One: result.Item,
        Two: result.Removed
    })
    .ToList();

Но я получаю предметы со свойством Exception.Мысли? * * 1023

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