如何以编程方式为WCF服务生成WSDL?

时间:2010-05-26 11:22:04

标签: wcf wsdl

请告诉我如何以编程方式为WCF服务创建WSDL。

4 个答案:

答案 0 :(得分:1)

如果您为尝试生成WSDL的任何服务公开了mex端点,则可以使用MetadataSetWsdlImporter类来执行此操作。

如果您尝试生成WSDL的服务是编译代码,那么您应该可以make use of svcutil

答案 1 :(得分:1)

您可以执行以下操作:

ContractDescription cd = ContractDescription.GetContract(typeof(IContract));
System.ServiceModel.Description.WsdlExporter wexp = new System.ServiceModel.Description.WsdlExporter();
wexp.ExportContract(cd);
MetadataSet mds = wexp.GetGeneratedMetadata();
mds.WriteTo(new XmlTextWriter(@".\IContract.wsdl", Encoding.UTF8));

另外,这里有一篇很好的文章: http://mleder.blogspot.com/2008/05/creating-wsdl-using-c.html

答案 2 :(得分:0)

我不认为这是可能的,除了以编程方式使用svcutil.exe来完成任务。

答案 3 :(得分:0)

迟到总比没有好,但我认为你是在IWsdlExportExtension行为之后,它允许你在托管服务时修改WCF生成的WSDL - here是关于如何开始的好文章实现此接口时。