请告诉我如何以编程方式为WCF服务创建WSDL。
答案 0 :(得分:1)
如果您为尝试生成WSDL的任何服务公开了mex端点,则可以使用MetadataSet和WsdlImporter类来执行此操作。
如果您尝试生成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是关于如何开始的好文章实现此接口时。