Файл WSDL генерируется на лету? - PullRequest
0 голосов
/ 25 июня 2009

для веб-службы, в зависимости от XML-файла, в C # генерируется пара классов. В зависимости от этих классов во время компиляции генерируется файл WSDL. Есть ли возможность во время выполнения просто заменить файл XML и сгенерировать файл WSDL на лету?

С уважением, Валер

Ответы [ 2 ]

0 голосов
/ 11 апреля 2010

Это было бы нежелательно, и в действительности не имеет большого смысла в контексте скомпилированного приложения.

WSDL - это версия интерфейса класса в формате XML. Этот интерфейс исправлен во время компиляции. Чтобы WSDL изменился, интерфейс класса должен измениться, что не может (или, по крайней мере, не должно - все возможно) произойти во время выполнения.

Если вы беспокоитесь о создании WSDL для службы, которую вы потребляете , а не производите, то возникает та же проблема. Обновленный WSDL мог бы, скажем, переименовать все методы, дав им префикс, например, «fu_Update ()», где ваше приложение ожидает «Update ()», и в этом случае любой код, ссылающийся на эту службу, сломается.

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

0 голосов
/ 25 июня 2009

Я думал, что WSDL генерируется на лету, когда вы запускаете Service.asmx? Wsdl или somesuch?

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