【发布时间】:2014-11-18 12:35:20
【问题描述】:
Visual Studio 2015(预览版)中的一项新功能是“ASP.NET MVC 和 Web API...已统一为一个单一的编程模型。”
我假设这意味着我可以编写单个控制器操作“GetCustomerById”,它返回一个 Customer 对象,并且可以根据内容协商将其呈现为序列化 Json 或 Html(使用 mvc 视图)。 (如果用户使用“Accept: application/json”或“Accept: text/html”请求它)
但我看不出这是怎么做到的,它们似乎仍然需要不同的控制器和方法?
【问题讨论】:
-
据我了解,他们只是将两个库合并为一个:asp.net/vnext/overview/aspnet-vnext/aspnet-5-overview#unify
-
是的,他们实际上写道“您不再需要根据您是在 MVC、Web API 还是网页上下文中编写稍微不同的代码”,所以我假设有是一种编写单个动作的方法(对于 json 和 html 响应)?否则我需要复制代码
-
是的,但他们没有在样本中的任何地方显示它,这让我认为这样的功能不会存在
-
通过查看示例 (asp.net/vnext/overview/aspnet-vnext/create-a-web-api-with-mvc-6),它看起来将是基于属性的路由。因此,如果您在同一个控制器中拥有 MVC 和 WebApi,则必须将属性路由应用于每个操作方法,而不是在控制器级别。
标签: asp.net-mvc asp.net-web-api visual-studio-2015