我正在寻找一些集成测试来比较WCF服务与先前(和已发布)版本生成的WSDL。这是为了确保服务合同与发布时间没有区别。如何以编程方式从WCF服务生成WSDL(集成测试)
我想我的测试是自包含的,不依赖任何外部资源,例如在IIS上托管。
,我想我可以重新创建我的IIS有类似的测试中托管环境...
using (ServiceHost host = new ServiceHost(typeof(NSTest.HelloNS), new Uri("http://localhost:8000/Omega")))
{
host.AddServiceEndpoint(typeof(NSTest.IMy_NS), new BasicHttpBinding(), "Primary");
ServiceMetadataBehavior behavior = new ServiceMetadataBehavior();
behavior.HttpGetEnabled = true;
host.Description.Behaviors.Add(behavior);
host.AddServiceEndpoint(typeof(IMetadataExchange), MetadataExchangeBindings.CreateMexHttpBinding(), "mex");
host.Open();
}
没有任何人有任何更好的想法?
编辑: 很明显,这段代码只是创建一个服务主机,我仍然错过客户端代码来获取WSDL定义。
这是一个错误的比较文件。该文件可以更改而不会更改语义。 – 2010-10-01 00:56:07