7、客户程序
最后,通过单元测试工具检查的客户程序如下:
using System;
using DemoService;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Test.Client
{
/// <summary>
/// 测试用客户程序
/// </summary>
[TestClass]
public class Client
{
/// <summary>
/// 为了简化,这里在客户程序中直接定义了具体报价Web Service的Uri.
/// 实际开发中该信息应该作为服务端的一个配置项登记在Directory之中,
/// 客户程序仅仅通过抽象的服务逻辑名称从Directory中获得。)
/// </summary>
[TestMethod]
public void Test()
{
QuoteService service = new QuoteService();
service.Url = "http://localhost:2401/IntranetQuoteService.asmx";
Quote quote = service.GetQuote("quote:2007-07-15");
Assert.AreEqual<string>("quote:2007-07-15", quote.Id);
Assert.AreEqual<string>("deluxe", quote.Company);
Assert.AreEqual<int>(2, quote.QuoteItem.Length);
Assert.IsNotNull(quote.QuoteItem[0]);
}
}
}
为了使用方便,本系列所有示例都没有直接采用IIS作为Web Server宿主,而是采用Visual Studio.Net自带的临时服务进程,因此WSDL和Proxy的使用上,相关端口可能会变化。
using System;