Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
dotnet-adapters-demo [2019/05/23 05:16] admin1 создано |
dotnet-adapters-demo [2020/09/05 04:19] (текущий) admin1 |
||
---|---|---|---|
Строка 2: | Строка 2: | ||
В данном обучающем материале описаны шаги для построения веб-сервисов, взаимодействующие через платформу X-Road версии 6. | В данном обучающем материале описаны шаги для построения веб-сервисов, взаимодействующие через платформу X-Road версии 6. | ||
- | Чтобы облегчить материал вам предоставляется решение DemoAdapters.sln, состоящее из следующих проектов: | + | Чтобы облегчить материал вам предоставляется решение [[https://github.com/tunduk-gov-kg/dotnet-adapters-demo|DemoAdapters.sln]] , состоящее из следующих проектов: |
**· Consumer.XRoad_End** | **· Consumer.XRoad_End** | ||
Строка 232: | Строка 232: | ||
- | Обратите внимание что время жизни сервиса является Scoped это означает каждый сервис «живет» в контексте http запроса а затем он уничтожается. Если вы укажете его как Singleton то это может спровоцировать ошибки типа ObjectDisposedException. Более подробную информацию вы найдете здесь | + | Обратите внимание что время жизни сервиса является Scoped это означает каждый сервис «живет» в контексте http запроса а затем он уничтожается. Если вы укажете его как Singleton то это может спровоцировать ошибки типа ObjectDisposedException. Более подробную информацию вы найдете [[https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-2.2|здесь]]: |
- | + | ||
- | https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-2.2 | + | |
Расширяющий метод AddXRoadLib() является обязательными так как он проводит дополнительные настройки для корректной работы библиотеки. | Расширяющий метод AddXRoadLib() является обязательными так как он проводит дополнительные настройки для корректной работы библиотеки. | ||
Строка 272: | Строка 270: | ||
- | Я настоятельно рекомендую наследоваться от класса DefaultSchemaExporter и переопределять метод ExportProtocolDefinition. В этом методе вы можете перезаписать свойства ProtocolDefinition и указать более близкие к реальности значения. | ||
- | |||
- | Если вы сделали все правильно согласно этому мануалу у вас запустится проект ASP.NET Core. | ||
- | |||
- | И в браузере вы увидите динамически сгенерированный wsdl. | ||
- | |||
- | Более подробную информацию о WSDL вы найдете здесь https://www.w3.org/TR/2001/NOTE-wsdl-20010315 | ||
- | |||
- | На этом разработка Producer заканчивается. | ||
Я настоятельно рекомендую наследоваться от класса DefaultSchemaExporter и переопределять метод ExportProtocolDefinition. В этом методе вы можете перезаписать свойства ProtocolDefinition и указать более близкие к реальности значения. | Я настоятельно рекомендую наследоваться от класса DefaultSchemaExporter и переопределять метод ExportProtocolDefinition. В этом методе вы можете перезаписать свойства ProtocolDefinition и указать более близкие к реальности значения. | ||
Строка 291: | Строка 280: | ||
На этом разработка Producer заканчивается. | На этом разработка Producer заканчивается. | ||
- | ==== Разработка Consumer ==== | + | ===== Разработка Consumer ===== |
Откройте контекстное меню проекта и нажмите кнопку "Добавить". Затем выбираете пункт "Ссылка на службу". В появившемся окне "Добавление ссылки на службу" в поле "Адрес" вставьте URL ссылку wsdl либо укажите абсолютный путь wsdl файла. Переименуйте пространство имен ServiceReference1 на Producer и нажмите OK. | Откройте контекстное меню проекта и нажмите кнопку "Добавить". Затем выбираете пункт "Ссылка на службу". В появившемся окне "Добавление ссылки на службу" в поле "Адрес" вставьте URL ссылку wsdl либо укажите абсолютный путь wsdl файла. Переименуйте пространство имен ServiceReference1 на Producer и нажмите OK. | ||
Строка 312: | Строка 301: | ||
</client> | </client> | ||
</system.serviceModel> | </system.serviceModel> | ||
- | </xml> | + | </code> |
Поменяйте значение атрибута adddress="" у тега endpoint вписав туда URL вашего сервера безопасности. | Поменяйте значение атрибута adddress="" у тега endpoint вписав туда URL вашего сервера безопасности. | ||
Строка 355: | Строка 344: | ||
} | } | ||
</code> | </code> | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | Автор Б. Галиев |