Asp.net mvc MVC Web Api-基本项目结构

Asp.net mvc MVC Web Api-基本项目结构,asp.net-mvc,asp.net-mvc-4,asp.net-web-api,Asp.net Mvc,Asp.net Mvc 4,Asp.net Web Api,我正在看(用于角度/字体脚本) 忽略所有客户端代码,我注意到作者制作了一个非常简单的WebApi。已经去掉了大多数脚手架,包括_ViewStart.cshtml、_Layout.cshtml,并且放弃了控制器文件夹中的控制器以及与控制器同名的子目录下视图文件夹中的视图的约定等 他在核心文件夹中添加了一些我以前从未见过的有趣的路由和验证类,并将控制器放在Api文件夹中,并将视图直接放在视图文件夹中,根文件夹中有Index.cshtml 对于一个独立的web api来说,它是一个非常干净的、赤裸裸的

我正在看(用于角度/字体脚本)

忽略所有客户端代码,我注意到作者制作了一个非常简单的WebApi。已经去掉了大多数脚手架,包括_ViewStart.cshtml、_Layout.cshtml,并且放弃了控制器文件夹中的控制器以及与控制器同名的子目录下视图文件夹中的视图的约定等

他在核心文件夹中添加了一些我以前从未见过的有趣的路由和验证类,并将控制器放在Api文件夹中,并将视图直接放在视图文件夹中,根文件夹中有Index.cshtml

对于一个独立的web api来说,它是一个非常干净的、赤裸裸的项目结构,除了将数据提供给客户端繁重的应用程序之外,它什么都不做。我有点喜欢这种方式,但在跳槽之前,我想知道这种方法有什么缺点,以及这样做是否真的放弃了框架的任何核心功能。例如,很明显,MVC区域在这里被放弃了,取而代之的是创建自己的视图文件夹结构的灵活性和应用程序部分的分离性(我可以摆脱MVC区域,但我很少使用它们)。另一件事是,我认为控制器操作方法不能
返回View()
,它会按照控制器名称的约定在Views文件夹中找到它。我也同意这一点,因为我将只提供JSON数据,并将使用100%的客户端模板


是否有任何其他核心功能正在被放弃,而我却缺少这些功能,这可能会让我后悔使用此项目结构?

当我创建托管在IIS中的Web API时,我的Web应用程序中唯一的文件是Web.config、global.asax和global.asax.cs。其他一切都不是必需的。

如果您尚未决定如何构建ASP.Net MVC/Angular项目,请查看此模板:


您可以在以后将组件添加到项目中,这样我就不会占用太多的空间。我喜欢先从一个精简的/基本上是空的项目开始,然后自己添加一些东西,这样我就能完全理解我要添加的内容。

想详细说明一下你实际上在做什么吗?@VladimirKocjancic我写了一篇博客文章,在这里演示了如何做,来源是