Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 39816|Respuesta: 3

[.NET Core] Un servicio basado en .NET Core en Linux

[Copiar enlace]
Publicado el 29-10-2020 14:20:02 | | | |
.NET CORE 3.0 añade nuevas plantillas de proyecto para Servicios de Trabajadores, que pueden usarse para escribir servicios en segundo plano de larga duración y desplegarlos fácilmente como servicios de Windows o demonios de Linux. Si el vs2019 instalado es la versión china, Servicios para Trabajadores pasa a ser un rol de trabajador.

Entorno del sistema Linux: CentOS 8 x64 bits

Crear un nuevo proyecto de Servicio al Trabajador

Primero, abrir VS 2019 para crear un nuevo proyecto de Servicios al Trabajador.



Servicios de Linux, necesito añadir:

Si es un servicio de Windows, tendrás que añadir:

Si quieres ejecutar un conjunto de programas en varios sitios, puedes instalar dos paquetes a la vez. A continuación, en CreateHostBuilder, añade UseWindowsService() y UseSystemd().



La función implementada por el proyecto es escribir registros en el archivo /test/file.txt, y el código principal es el siguiente:



El código de tarea WriteFile es el siguiente:

Debido a problemas de permisos, el programa no puede crear automáticamente la carpeta /test, que se tratará a continuación.

Desplegar servicios en CentOS

Instala el runtime de .NET Core(Excluyendo ASP.NET soporte Core)




Si quieres instalar un entorno de ejecución que soporte ASP.NET Core, puedes ejecutar el siguiente comando:

[raíz@localhost~]# dotnet --list-runtimes
Microsoft.NETCore.App 3.1.7 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]


Crea una carpeta /test y da los permisos de la siguiente manera:

En la carpeta /etc/systemd/system, crea el archivo de configuración del servicio itsvse.service de la siguiente manera:

Añadir cuentas de servicio y crear carpetas

Publica y sube Job.Service al directorio del servidor /home/dotnetuser/job, y publica la configuración de la siguiente manera:



Activa el servicio

Tras el inicio del servicio, puedes ver que puedes escribir archivos con normalidad, como se muestra en la siguiente figura:



Descarga del código fuente:

Turistas, si queréis ver el contenido oculto de esta publicación, por favorRespuesta


(Fin)




Anterior:ASP.NET WebApi utiliza MessageHandlers para unificar el formato del modelo de la interfaz de retorno
Próximo:Servicio web API de consola basado en HttpSelfHostServer
 Propietario| Publicado el 30-10-2020 09:28:44 |
Ejemplo de resultado:
info: ExampleHostedService[0]
//           1. Ya han llamado a StartAsync.
info: ExampleHostedService[0]
//           2. Han llamado a OnStart.
información: Microsoft.Hosting.Lifetime[0]
Solicitud iniciada. Pulsa Ctrl+C para apagar.
información: Microsoft.Hosting.Lifetime[0]
Entorno anfitrión: Producción
información: Microsoft.Hosting.Lifetime[0]
Ruta raíz del contenido: .. \app-lifetime\bin\Debug\net5.0
info: ExampleHostedService[0]
//           3. Han llamado a OnStoping.
información: Microsoft.Hosting.Lifetime[0]
La aplicación se está cerrando...
info: ExampleHostedService[0]
//           4. Se ha llamado a StopAsync.
info: ExampleHostedService[0]
//           5. Han llamado a OnStoped.


 Propietario| Publicado el 6-11-2020 13:53:00 |
clase pública de resumen BackgroundService: IHostedService, IDisposable

La interfaz IHostedService ofrece una forma cómoda de iniciar tareas en segundo plano en ASP.NET aplicaciones web Core (en .NET Core 2.0 y posteriores) o en cualquier proceso/host (empezando por .NET Core 2.1 usando IHost). Su principal ventaja es que se puede hacer cuando el propio host está a punto de apagarseHay una posibilidadHaz una cancelación normal para limpiar el código de las tareas en segundo plano.
 Propietario| Publicado el 27-4-2021 15:57:28 |
Registrar el método de extensión de servicio backend

Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com