Я хотел бы реплицировать данный веб-сервис для целей моделирования. Основная идея заключается в том, что новый сервис реализует тот же интерфейс, что и существующий (который я никак не контролирую), но с различными реализацией реальных методов. Тогда я хотел бы иметь возможность перенаправлять запрос на реальный адрес или на смоделированный в определенных условиях тестирования без необходимости изменения конфигураций. Можно ли это сделать в WCF?WCF WebService Replication
ответ
С точки зрения фактически тиражирование услугу, если существующая служба предоставляет метаданные, то есть WSDL, то вы можете восстановить службу по существу, выполнив следующие действия:
- Обзор к WSDL и все XSD о том, что wsdl ссылки и сохранить их все на диск.
- С этими файлами запустите утилиту wsdl.exe, передав ей wsdl и xsd, и используйте параметр/si для создания сервисного интерфейса.
- Выход, который будет файл интерфейса (с # файл)
- Перейти в Visual Studio и создайте новый проект «Service Application WCF»
- Переименуйте начальный Service1 (и интерфейс) файлов и классов к имя вашего нового сервиса и интерфейса.
- Скопируйте и вставьте код интерфейса, сгенерированный выше, в файл класса интерфейса новой службы.
- В классе службы внедрите методы службы с любой желаемой реализацией. (СОВЕТ: если вы щелкнете правой кнопкой мыши по имени интерфейса в файле, вы можете использовать опцию «Использовать интерфейс», чтобы иметь VS-заглушку для вас - хорошая функция.)
- Постройте его, и вы должны быть готовы к работе.
С точки зрения переключаясь между оригиналом и новой службой, я полагаю, один вариант был бы на стороне клиента ссылки на различные endponts службы в коде (в сравнении конфигурации), и таким образом, вы можете просто переключить переключатель ударить один сервис или другое ...
без изменения конфигурации
Это будет громоздким.
Вы можете создать сервис с идентичным интерфейсом, а затем реализовать клиент для вызова «реальной» службы в вашей службе.
Затем в каждом вызове вы делаете то, что хотите, и после этого вы перенаправляете запрос с теми же (или измененными) параметрами в реальный сервис.
Но тогда вам придется указывать своих клиентов на службу, а не на реальный сервис. Возможно, эту часть можно было бы обойти, используя прокси-сервер или DNS-запись.
- 1. replication
- 2. Android использовать WCF (webservice)
- 3. SAML WCF webservice
- 4. WCF webservice testing
- 5. WCF Webservice PUT данные
- 6. webservice to WCF
- 7. SSIS и WCF webservice
- 8. WCF WebService Ошибка
- 9. WCF Webservice всегда возвращает нуль
- 10. C# RESTful WCF ошибка WebService
- 11. Потребление ASMX WebService из WCF
- 12. Клиент Restlet для WCF webservice
- 13. Wcf webservice output не меняется
- 14. WCF, XML WebService, Legacy Techonology
- 15. Webservice/WCF (таймер обновления двигателя)
- 16. Вызов Webservice из службы WCF
- 17. Webservice или WCF или что
- 18. WCF Webservice не видит параметр
- 19. Ссылка с помощью WCF Webservice
- 20. WCF вызывает webservice длительное время
- 21. WCF/WebService: обработка совместимых операций
- 22. UseDefaultCredential в Webservice to WCF
- 23. Вопрос о подключении WCF Webservice
- 24. Сжатие GZip в WCF WebService
- 25. Использование модели из WCF WebService
- 26. Вызов webservice из службы WCF
- 27. WCF написание Вложенные Json Webservice
- 28. Ошибка при создании WCF WebService
- 29. Хранение XSD внутри WCF webservice
- 30. Mongo Replication