5

I created a an "Empty" for MVC 4. After coding some things out, I realized that an "Web API" project is better. I do not want to start over so is there a way to convert it to a Web API project instead? Below is a screenshot of what I am referring to. Any help would be greatly appreciated.

enter image description here

4

3 回答 3

6

您可以将 Web API 控制器添加到 MVC 项目。在解决方案资源管理器中,右键单击控制器文件夹,选择添加控制器,然后选择 Web API 控制器。

您唯一需要的另一件事是路由 - 我相信“空” MVC 4 项目默认情况下已经包含 Web API 路由,所以您应该没问题。寻找类似的东西:

  routes.MapHttpRoute(
      name: "DefaultApi",
      routeTemplate: "api/{controller}/{id}",
      defaults: new { id = RouteParameter.Optional }
  );

但是,如果您想将现有的 MVC控制器转换为 Web API 控制器,则没有自动的方法可以做到这一点。

于 2012-05-12T01:07:09.810 回答
2

如果您真的想迁移到 Web API 项目,最简单的方法就是创建一个新的空白 Web API 项目。然后,复制旧项目中的所有文件,删除旧项目并重命名新项目。

另一个可能需要更多努力的选项是创建一个新的空白 Web API 项目。然后,在文本编辑器中打开项目文件并与旧项目文件进行比较,并对原始文件进行必要的更改。这一切都在 XML 中,所以它不应该那么难。

于 2012-05-12T01:27:10.407 回答
1

仅当您想公开数据时,Web API 才会更好。如果您需要呈现视图(Razor 或 Web 窗体),请使用 ASP.NET MVC。

没有自动转换,因为它们做不同的事情。

于 2012-05-11T21:37:10.263 回答