Как программно сгенерировать WSDL для службы WCF? - PullRequest
1 голос
/ 26 мая 2010

Пожалуйста, дайте мне знать, как программно создать WSDL для службы WCF.

Ответы [ 4 ]

1 голос
/ 06 апреля 2012

Вы можете сделать следующее:

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

1 голос
/ 26 мая 2010

Вы можете использовать классы MetadataSet и WsdlImporter , чтобы сделать это, если у вас есть доступ к конечной точке mex для любой службы, с которой вы пытаетесь сгенерировать WSDL.

Если служба, для которой вы пытаетесь сгенерировать WSDL, является скомпилированным кодом, вы сможете использовать для этого svcutil .

0 голосов
/ 14 августа 2011

лучше поздно, чем никогда, но я думаю, что вы следите за поведением IWsdlExportExtension, которое позволяет вам изменять WSDL, сгенерированный WCF при размещении сервиса - здесь - хороший пост в блоге о том,начать работу при реализации этого интерфейса.

0 голосов
/ 26 мая 2010

Я не думаю, что это возможно, за исключением программного использования svcutil.exe для выполнения задачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...