Índice:
La semana pasada lanzamos una nueva versión del SDK C# de BLiP, que permite la construcción de aplicaciones C# multiplataforma (Windows, Linux y Mac) y que pueden ser fácilmente alojadas en la nube, incluso en containers Docker. Esto es posible gracias a la portabilidad de .NET Core en la cual se basa.
Consulte la documentación de BLiP para saber cómo comenzar a utilizarlo.
Migración desde el antiguo SDK
Para realizar la migración de un chatbot que utiliza la versión antigua del SDK (basada en el paquete Blip.MessagingHub.Client) es necesario realizar los siguientes pasos:
- Crear un proyecto utilizando la plantilla de BLiP, utilizando el comando dotnet new blip-console (como se describe en el menú lateral derecho en la sección SDK C# en la documentación de BLiP).
- Copiar las clases y el archivo application.json al nuevo proyecto e instalar las demás dependencias (excepto el SDK de BLiP, que ya está instalado en la plantilla).
- Sustituir el nombre de las interfaces y clases antiguas por el SDK nuevo (mapeado a continuación).
- Ajustar las llamadas de los métodos con firmas alteradas (mapeado a continuación).
- No es posible reutilizar los proyectos antiguos, ya que los mismos se basan en la versión antigua de .csproj de .NET, que es incompatible con los proyectos .NET Standard / .NET Core utilizados en el nuevo SDK de BLiP.
Mapeo de tipos
Antiguo: Takenet.MessagingHub.Client.Listener.IMessageReceiver Nuevo: Blip.Client.IMessageReceiver |
Antiguo: Takenet.MessagingHub.Client.Listener.INotificationReceiver Nuevo: Blip.Client.INotificationReceiver |
Antiguo: Takenet.MessagingHub.Client.Listener.ICommandReceiver Nuevo: Blip.Client.ICommandReceiver |
Antiguo: Takenet.MessagingHub.Client.IMessagingHubClient Nuevo: Blip.Client.IBlipClient |
Antiguo: Takenet.MessagingHub.Client.MessagingHubClientBuilder Nuevo: Blip.Client.BlipClientBuilder |
Antiguo: Takenet.MessagingHub.Client.Host.* Nuevo: Blip.Client.Activation.* |
Antiguo: Takenet.MessagingHub.Client.Extensions.* Nuevo: Blip.Client.Extensions.* |
Antiguo: Takenet.MessagingHub.Client.Listener.* Nuevo: Blip.Client.Receivers.* |
Mapeo de métodos
Antiguo: IMessagingHubSender.SendCommandAsync(Command) Nuevo: Blip.Client.ISender.ProcessCommandAsync(Command, CancellationToken) |
Antiguo: IMessagingHubSender.SendCommandResponseAsync(Command) Nuevo: Blip.Client.ISender.SendCommandAsync(Command, CancellationToken) |
Observación: En la mayoría de los métodos de la nueva versión, es obligatorio informar un cancellationToken para garantizar la correcta cancelación de las operaciones asíncronas y evitar el congelamiento del proceso. En este caso, pase siempre el cancellationToken recibido en los receivers.
Ejecución
Observación: En la mayoría de los métodos de la nueva versión, es obligatorio informar un cancellationToken para garantizar la correcta cancelación de las operaciones asíncronas y evitar el congelamiento del proceso. En este caso, pase siempre el cancellationToken recibido en los receivers.
Pero si desea que su chatbot siga siendo una Class library por cualquier motivo, utilice la plantilla blip-console al crear el proyecto y cámbielo a Class library. Para ejecutar el chatbot en este caso, será necesario otro proyecto como host.
Para más información, acceda a la discusión sobre el asunto en nuestra comunidad o a los vídeos en nuestro canal. 😃