在MVC3上公开服务的最佳方式

时间:2011-10-14 12:01:59

标签: c# asp.net-mvc wcf web-services design-patterns

好吧,似乎我在this上提出了错误的问题,并会以不同的方式再试一次,因为没有人有兴趣帮助我。 找到几种在MVC3应用程序上公开方法的方法:

  • 在那里添加Service.svc文件和代码 - 使用标准WebService方式;
  • 通过路由公开方法,例如this - 服务无法发现;
  • 使用Annotations([HttpGet],[HttpPost],[HttpPut],[HttpDelete])公开方法 - 不可发现;
  • Web Api - 工作正常,但我不确定我需要一个“API”,因为消费者将是我编写的Windows表单应用程序;

我认为我不需要像this guy那样将DAL移动到WCF。我只需要一个输入Web服务就可以从自动化过程中提供应用程序。

哦,this question也有一个有趣的观点。

同样,简而言之,在MVC应用程序上拥有输入服务的最佳/最新/推荐方式是什么?

由于

1 个答案:

答案 0 :(得分:1)

我认为您不应该将DAL移动到WCF中。 WCF服务层可以是将业务逻辑的子集公开给MVC应用程序的一种方式,您只公开所需的内容,而只是直接公开BL而不是DAL。

这样可以很好地将DAL技术和细节(也就是EF,NH,LINQ ......)从其他层BL和服务层中分离出来。

在这里查看我的答案:MVC3 and Entity Framework我解释了我如何想象层叠一个MVC应用程序隔离层,而不是将DAL细节暴露给任何人,甚至不是BL或服务层。