ASP.NET Web API请求完成后如何处置资源?

前端之家收集整理的这篇文章主要介绍了ASP.NET Web API请求完成后如何处置资源?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图暴露一个IQueryable<>通过ASP.NET Web API,我发现在请求完成之前我需要保持数据源处于打开状态,以便ASP.NET Web API中内置的OData查询系统可以完成其工作.

好的,这听起来很合理.但是我在哪里处理数据源?我没有看到任何明显的地方.我应该在应用程序中管理请求状态吗?这样做的标准方法是什么?

控制器的Dispose()方法是否适当?即是保证一个控制器实例只服务一个请求,还是只是一个实现细节?

我正在使用ASP.NET MVC 4 RC中的ASP.NET Web API.

解决方法

您可以在HttpRequestMessage上使用名为 RegisterForDispose的扩展来注册在请求完成时要排除的任何资源.

顺便说一句,您可能希望在下一版Web API中查看以下关于IQueryable支持链接.
http://aspnetwebstack.codeplex.com/discussions/359229

[编辑]在Controller的Dispose()方法中做事也是一个解决方案.在Web API中,基于ApiController的控制器始终是每个实例(每个请求一个控制器实例)

猜你在找的asp.Net相关文章