65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 CodeDom 生成 WebService 客户端存根的接口

starIconstarIconemptyStarIconemptyStarIconemptyStarIcon

2.00/5 (1投票)

2013年4月8日

CPOL
viewsIcon

80121

downloadIcon

123

为单元测试生成 WebService 客户端存根的接口。

引言

这是一个简单的应用程序,用于生成 WebService 客户端存根的接口。

背景

生成的接口能做什么?嗯... 因为 WebService 客户端存根的所有方法都不是虚方法,所以在业务逻辑依赖于它时(该方法无法被模拟)很难应用单元测试。

使用代码

使用这个功能非常简单,如下所示

var basePath = @"D:\Workspace\YourSolution\YourProject";  // The dir contains the .csproj file.
var webReference = "WebReference";                        // The namespace of the web reference you set.
var puller = new InterfacePuller(basePath, webReference);
puller.Process();    

一个名为 "ReferenceExtensions.cs" 的代码文件将在路径 <basePath>/Web References/<webReference> 下生成。

现在,您可以声明使用接口类型而不是客户端存根类类型的字段。

private WebService service = new WebService(); 
private IWebService service = new WebService();  
© . All rights reserved.