从WCF转移到REST - 是否可以生成代理类?

时间:2014-04-18 03:21:58

标签: c# wcf rest asp.net-web-api design-by-contract

我们目前有一个通过WCF进行通信的应用程序(客户端/服务器)。我们希望摆脱WCF方法,而是使用REST方法。

这有几个原因,例如开销(就大小而言)以及对我们的Windows客户端(当前是WinForm客户端)和移动设备使用相同访问方法的可能性。 我们有时也在Mono框架上运行服务器,即使我们已经启动并运行它,我们已经看到了与.NET框架相比WCF如何处理Mono堆栈的一些差异(所以我不想使用WCF中的WebHTTPBinding来处理REST)。

该服务还需要自托管(即不在IIS中)。

从WCF转向其他替代方案时的问题与合同有关。我希望能够对REST调用进行单元测试,并且我希望能够涉及一个契约,使客户端能够使用他们不必自己创建的代理类 - 非常类似于WSDL。

向开发人员分发代理类的主要思想是客户端应该能够依赖服务提供者来获取正确的代理类,并且他们不需要关心所使用的URL。

有没有办法可以自动完成,如果是这样 - 使用什么框架或方法? 看了一下WebAPI,我发现了一个生成代理(http://www.codeproject.com/Tips/535260/Proxy-Object-Generation-for-MVC-and-WebAPI-Control)的例子。这将简化开发人员,但这意味着我手动需要为开发人员创建代理使用。

任何建议都将受到赞赏:)

1 个答案:

答案 0 :(得分:0)

对于客户端单元测试,您应该为休息服务响应创建模拟。

否则您可以创建包含所有服务响应的静态模拟页面。