背景
我继承了一个项目,该项目的数据依赖于几个不同的 WCF“mex”端点。一旦完成,我的特定项目的目标是充当调用这些遗留WCF 服务的 API 层,操作返回的对象(仅在极少数情况下),序列化为 JSON,然后对请求的客户端做出 Restfully 响应。
C#、MVC 4、.NET 4。
我对 RESTful Web 服务非常有经验,但对 WCF 却没有。
以下是端点 uri 的示例:
http://product.sqa.acme.com/products.svc/mex
问题
在设置使用其中一个 WCF 服务的第一个类时,似乎我必须设置整个数据协定才能使用返回的对象。它是否正确?如果这不正确,我如何调用 WCF 接口(即IProductService >> GetProductById(123)
)的方法,然后在没有契约的情况下操作生成的对象?
我试过这个:
var ip = (IProductService)new ProductServiceClient("http://product.sqa.acme.com/product.svc/mex");
var product = ip.GetProductById("DVP4963619");
但是代码失败了,因为没有找到合约。由于我将要做的 90% 只是简单地传递一个请求,然后将响应序列化为 JSON,因此必须为我进行的每个服务调用定义一个合同似乎有点过头了。任何帮助表示赞赏。
谢谢,
马特