使用ASP.NET MVC操作方法

L-F*_*our 6 c# wpf asp.net-mvc wcf

当前情况:一个ASP.NET MVC网站,其中包含许多控制器和操作方法,以及允许添加配方的视图.

现在,我必须创建一个WPF应用程序,作为添加配方的UI(与网站相同).

我的问题是:我可以使用ASP.NET MVC站点来公开WPF应用程序使用的服务操作(以及如何完成)?或者我应该为此更好地创建专用的WCF服务,并让WPF和ASP.NET MVC站点使用这些服务?

谢谢,路德维希

Hac*_*ese 3

我已成功使用 MVC 控制器和操作来为浏览器中的 HTML 视图以及外部应用程序提供服务。它运行良好,但就目前情况而言,您需要一些工具:

  1. 我有一个操作过滤器,它以客户端请求的格式返回操作产生的模型(通过检查 Accepts 标头,查找 application/json 或 text/xml)。因此,我可以将生成的模型序列化为 JSON 或 XML(我更喜欢 JSON)。
  2. 您需要在客户端应用程序中查找或创建一个简单的 API,以创建针对您的操作的 WebRequest,然后处理结果。我创建了一个简单的 API,可以 POST 或 GET,然后将任何生成的 JSON 反序列化为对象(使用 JSON.NET)。您可以使用 REST 客户端 API 来实现此目的。

但是,如果您采用 WCF-REST 路线,则可以避免使用一些额外的工具。更好的是,我会研究 ASP.NET MVC 4 的 WebApi 功能(这是我将迁移到的)。

郑重声明,我认为 WCF 很强大,但我们的组织已经厌倦了转动所有旋钮并按下所有开关以使其正常工作并轻松地从一个安装安装到另一个安装是多么复杂。另一方面,MVC 可以正常工作......并且由于我们已经使用它来为 HTML 视图提供服务,因此只需添加一些额外的代码即可让它处理服务调用,这真是一件令人高兴的事情。当然,这只是个人喜好。