我一直是Web表单模型中的长期ASP.NET开发人员,并且正在使用一个新项目作为借助ASP.NET MVC的机会.
应用程序需要一个API,以便一组其他应用程序可以与之通信.在此之前,我总是使用标准的Web服务构建API.
作为旁注,我有点犹豫是否首先陷入创建API的REST风格,至少对于这个特定的实例.这个应用程序可能需要一个API版本控制的概念,我认为在这方面,API本质上分散在站点的所有控制器上的REST方法有点麻烦.(但如果对潜在的版本控制潜力要求有一个很好的答案,我不会完全反对它.)
那么,你说,Stack Overflow居民呢?
我同意基尔霍夫的观点.尝试使用继承自"IFacade"的"Facade"包装类.在您的Facade类中,将代码用于使用您的Web服务.通过这种方式,您的控制器将只调用Facade.这方面的优点是你可以交换实现相同IFacade接口的"DummyFacade",它实际上并不与Web服务通信,只返回静态内容.让您实际进行一些单元测试,而无需点击服务.与Repository模式基本相同.