【发布时间】:2020-02-25 20:22:44
【问题描述】:
我有一个返回 HttpResponseMessage 的操作。
如何处置这样的对象?退货后,我真的不能处理了。
示例:
return new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(json, Encoding.UTF8, "application/json") };
// Inside function SomeMethod
我的行动:
public HttpResponseMessage SomeAction()
{
return SomeMethod(); // Warning that this is not disposed
}
这很奇怪,因为在我的代码的其他部分不存在这样的警告。该功能是否使我的 IntelliSense 感到困惑?
该操作不会从其他任何地方调用。
它将结果返回到它的端点。
【问题讨论】:
-
在它被返回并且没有被引用之后,它应该已经被处理/标记为收集,对吧?
-
@ZacharyBrooks - 有一个显式的 Dispose,来自 HttpResponseMessage 实现的 IDisposable 接口。
-
@SpiritBob - 你会在消费者端处理它 - 或者我错过了什么。
-
@Rakesh 不,我会提供一个例子。