8000 GitHub - bltzkrgmchn/service.template: Generic .net core 2.2 service template with web api and mass transit
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

bltzkrgmchn/service.template

Repository files navigation

Service.Template

Шаблон для создания сервиса общего назначения.

Требования

Шаблон использует стандартный механизм шаблонизации dotnet new и требует установленный .NET Core 2.2 SDK, который можно взять здесь.

Установка

Установка из исходного кода

Для установки шаблона необходимо склонировать содержимое репозитория и использовать команду

.\build.ps1

После выполнения посторения будет создан nuget пакет, содержащий шаблон, который может быть установлен с использованием команды dotnet new.

Для установки шаблона необходимо использовать команду

dotnet new --install ".\artifacts\packages\Service.Template.{версия.шаблона}.nupkg"

Просмотр списка шаблонов

Шаблон будет установлен под именем webapi-masstransit.

Для просмотра всех установленных шаблонов необходимо использовать команду

dotnet new --list

Использование

Для создания нового экземпляра сервиса с использованием шаблона необходимо использовать команду

dotnet new webapi-masstransit --name "{название.сервиса}" --output "путь\к\экземпляру\сервиса" --Description "{описание.сервиса}" --Authors "{авторы}"

Используемые библиотеки

Сервис использует следующие библиотеки:

  • MassTransit - абстракция над шиной обмена сообщений
  • NUnit - юнит-тесты
  • FakeItEasy - создание фейков в юнит-тестах
  • FluentAssertions - человеко-читаемые условия в юнит-тестах
  • Cake - скрипт посторения
  • Microsoft.AspNetCore.Mvc - Web Api
  • Microsoft.AspNetCore.Server.Kestrel - веб-сервер для резидентного размещения
  • Microsoft.Extensions.Configuration - управление конфигурацией
  • Microsoft.EntityFrameworkCore - объектно-реляционный модуль сопоставления для работы с базой данных

Построение сервиса

Для построения сервиса необходимо запустить скрип построения командой

./build.ps1

Запуск сервиса

В процессе построения в папке ./artifacts/packages будет создан NuGet пакет с шаблоном сервиса, а в папку ./artifacts/publish будут опубликованны исполняемые файлы сервиса.

Для запуска сервиса необходимо запустить исполняемый файл сервиса Service.Template.Instance.exe, находящийся в папке ./artifacts/publish.

cd artifacts/publish/
./Service.Template.Instance.exe

Для запуска сервиса как windows-службы необходимо установить исполняемый файл сервиса Service.Template.exe с флагом --service или -s как windows-службу.

New-Service -Name "Service.Temlate" -BinaryPathName "путь\к\папке\с\исходным\кодом\сервиса\artifacts\publish\Service.Template.Instance.exe --service"

После успешного запуска сервиса должен быть доступен метод GET /health, который должен возвращать ответ с кодом 200 OK.

Известные проблемы

.nuspec файлы имет расширение .template

На данный момент nuget.exe игнорирует все файлы с расширением .nuspec при сборке пакета. Подробности можно посмотреть в описании проблемы на GitHub.

Журнал запуска приложения находится в C:/Windows/system32/logs

Сервис, запущенный как Windows-служба считает своей рабочей директорией папку C:/Windows/system32 и записывает журнал запуска в эту папку.

About

Generic .net core 2.2 service template with web api and mass transit

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  
0