我正在尋找一些集成測試來比較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