Tre*_*van 4 c# asp.net asp.net-mvc asp.net-web-api
虽然我已经使用Microsoft .NET Framework几年了,但是对于ASP.NET(尤其是ASP.NET WebAPI Framework),我还是一个新手。我正在考虑将ASP.NET WebAPI框架用于一个小项目。
我查看了ASP.NET WebAPI poster,发现一个Controller类可以:
ApiController班级派生,或IHttpController界面阅读该类的MSDN文档ApiController显示该类已实现IHttpController。似乎IHttpController只是声明了一个名为的方法ExecuteAsync()。
我不清楚的是:在什么情况下应该从中派生ApiController或仅实现IHttpController接口的ExecuteAsync()方法?每种方法的优缺点是什么?
如果这与MVC中的基本控制器相同,则最简单的方法就是从基类(ApiController)派生。这在您和一些基本的请求处理之间提供了额外的抽象层次,您通常希望避免自己做这些事情。
对于ASP.NET MVC,IController如果要自定义框架处理请求的方式,则可以创建自己的类。这包括操作方法,视图渲染等。
在Controller(和ApiController)类是由ASP.NET提供的标准执行所有这些东西,给你的处理请求预先定义的方式。
使用IHttpController,如果你想自定义所有这些“低层次”的东西; 使用ApiController如果你没有非常具体的需要改变任何东西。
一个Controller它的ExecuteAsync()方法(Execute在MVC)将作为请求非常基本的入口点。从该方法作为视图返回数据包括将字符串写入requestContext响应;几乎不是一种非常舒适的工作方式。
它允许您定义自己的控制器,并为您提供了很大的适应空间,但这也意味着您将不得不重新发明很多轮子。
| 归档时间: |
|
| 查看次数: |
2191 次 |
| 最近记录: |