我正在设计一个具有两个UI的Web应用程序 - 一个是传统的网页(HTML视图),另一个是WPF应用程序。我知道,为了有一个关注的分离,最好设计如下所示,一个由MVC应用程序和WPF应用程序使用的Web API。
然而,我是一个时间紧张,我想知道我是否可以逃脱只有传统的MVC设计如下。此外,我可能有更多的非CRUD操作,如果我去WebAPI,将不得不实现为RPC样式,增加了webAPI的复杂性(更多的工作,更多的时间)。
我唯一的问题是 - 可以在WPF应用程序中使用MVC操作吗?如果是,我是否需要使用任何特殊的API来完成this post中提到的那样,或者新的HttpClient包是否足够?
答案 0 :(得分:1)
是的WPF应用程序,就像能够发送HTTP请求和接收响应的任何其他应用程序一样,能够使用ASP MVC控制器操作。
毕竟,ASP MVC框架只解析URL,推断路由信息(区域,控制器,动作,参数等),最后在发送HTTP响应之前调用相关的参数动作。
来自MSDN:
相比之下,用户与ASP.NET MVC应用程序的交互是 围绕控制器和行动方法组织。控制器 定义动作方法。控制器可以包括尽可能多的动作方法 如所须。操作方法通常具有一对一映射 用户互动。用户交互的示例包括输入a 进入浏览器的URL,单击链接,然后提交表单。每个 这些用户交互会导致将请求发送到服务器。在 在每种情况下,请求的URL包括MVC的信息 框架用于调用操作方法。
因此,即使是简单的HttpClient也足以与ASP MVC控制器动作进行交互。 但您也可以使用您选择的框架或库来帮助您构建HTTP请求和/或将HTTP响应转换为更适合您应用程序的内容。
这不是强制性的,但可以节省一些时间!
话虽如此,要注意所有需要身份验证的场景,否则会让事情变得更难: