使用ASP.NET MVC操作方法

时间:2012-05-07 08:38:48

标签: c# wpf asp.net-mvc wcf

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

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

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

谢谢, 路德维希

1 个答案:

答案 0 :(得分:3)

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

  1. 我有一个动作过滤器,它返回由客户端请求的格式的动作产生的模型(通过检查Accepts标头,查找application / json或text / xml)。所以,我可以将生成的模型序列化为JSON或XML(我更喜欢JSON)。
  2. 您需要在客户端应用程序中查找或创建一个简单的API,以便为您的操作创建WebRequests,然后处理结果。我创建了一个可以POST或GET的简单API,然后将任何生成的JSON反序列化为一个对象(使用JSON.NET)。您可以使用REST客户端API。
  3. 但是,如果你去WCF-REST路线,你可以避免一些额外的工具。更好的是,我将研究ASP.NET MVC 4的WebApi功能(我将迁移到这个功能)。

    为了记录,我认为WCF功能强大,但我们的组织已经厌倦了转动所有旋钮并点击所有开关以使其正常工作的复杂程度,并且可以轻松地从一个安装设置到其他。另一方面,MVC正常工作......由于我们已经使用它来为我们的HTML视图提供服务,因此只需要添加一些额外的代码来处理服务调用也是一件非常愉快的事情。当然只是个人偏好。