我目前正在循环中同步执行一系列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
属性。有想法吗?