为Rest Web Service创建WCF代理

Mar*_*tin 2 .net rest wcf wcf-rest

我有一个复杂的WCF Rest服务,它接受多个输入和对象.我不能简单地通过在Fiddler中进行HTTP POST来调用它,因为有太多的数据要提供(我可以,但它将永远带我).所以我想在代码中使用代理来完成它.有没有办法为.NET 4 WCF Rest服务生成代理?否则,您建议我允许我轻松测试服务?

谢谢.

car*_*ira 8

没有为WCF REST服务创建代理的标准方法(没有用于REST的WSDL,一个新兴标准,WADL,没有被广泛采用,WCF不支持它).出于测试目的,您应该与客户端共享接口,并使用ChannelFactory <T> - 并在工厂的Endpoint属性中设置适当的行为,或使用辅助类WebChannelFactory <T>为您执行此操作.

假设接口名为ITest,这就是您所拥有的:

Uri serviceUri = new Uri("http://my.service.com/endpoint");
WebChannelFactory<ITest> factory = new WebChannelFactory<ITest>(serviceUri);
ITest proxy = factory.CreateChannel();
Assert.AreEqual(9, proxy.Add(4, 5));
Run Code Online (Sandbox Code Playgroud)