这是一个很难回答的问题,因为它引发了更多问题。
简而言之,答案是:视情况而定。
如您所知,MVC 是一个用于分隔应用程序关注点的模式。另一方面,设计模式是软件设计问题的解决方案。
最初引入 Microsoft 的 asp.net MVC 品牌是为了为 webforms 提供替代。当您想要创建网站或 Web 应用程序时,这两种模式 (webforms and MVC) 都是可行的解决方案。这一切都取决于需要做什么以及您的团队在其中任何一个方面的效率。
Microsoft asp.net Web API 是一个在 .NET 框架之上构建 web APIs 的框架。过去,我们会使用.asmx 文件创建Web Services。然后,他们介绍了WCF,现在,我们有了Web API。
Web Services 和 WCF 今天仍然存在并且是有效的选择,但是......新的东西确实克服了早期东西中的一些限制。有Pros and Cons 在使用它们中的任何一个。您需要确定其中一个提供什么优于另一个,以及它是否符合您的需求。
该应用程序是一个报告应用程序,允许用户设计报告和
下载它们。该应用程序基本上是一个向导风格的多页面
数据选择器。我想提供构建这些的功能
来自桌面应用的报告。
不清楚的是,当您说设计报告的能力时。您的意思是您的用户可以选择他们希望报告的外观和感觉的位置和方式吗?例如,用户 1 想要其徽标位于右上角,而用户 2 想要其徽标位于左下方等等...您的用户能够“设计”他们的报告多少?
然后你提到了一些关于巫师的事情。您的向导中的步骤是帮助用户设计他的报告,还是那里的步骤充当参数到您的报告?
然后你提到你想在Desktop 应用程序中提供这个类似向导的功能......我的第一直觉是host 你的网络应用程序的某个地方和你的Desktop应用程序,有一个 browser control 指向您的类似向导的 Web 应用程序的 URL。
考虑到过去几年 Web API 的进步,会不会
不通过 MVC 使用它是不是疯了?
嗯...它们有不同的用途。
在过去几年中,您通常使用webforms 和/或asp.net MVC 创建了一个网站,以便设计网页/视图,然后将其发送到用户的浏览器。
Web APIs通常用于创建不返回视图或网页而是返回 data 的 API。
注意我通常的使用方式...这是因为过去 2-3 年的趋势一直是创建 @987654343 @ 并使用诸如Angular 之类的客户端框架来调用Web API 并渲染Views。使用这种方法,您几乎不需要使用asp.net MVC 和/或webforms。
请记住,虽然我说的是趋势,但我并不是说这会在未来几个月或几年内消失。创建这些类型的应用程序是有价值的,这超出了本文的范围。但请记住,客户端框架要求人们了解它们……因此,如果您选择走这条路,则需要考虑到这一点。
顺便说一句,微软确实引入了另一种 asp.net MVC 替代方案,称为 SPA (Single Page Application),它允许您使用上述方法构建 Web 应用程序。
尽管如此,我什至不确定我是否最终回答了你的问题 :-)
我想我仍然需要对手头的确切任务进行更多说明。