Ir para o conteúdo

Requisitos para cBots

Existem dois requisitos principais que tem de cumprir para garantir que as suas instâncias de cBot podem ser executadas sem problemas na Nuvem: referências em tempo de compilação e dependências multiplataforma.

Referências em tempo de compilação

Existen múltiples formas de trabajar con dependencias en .NET. Por ejemplo, puede proporcionar dependencias como archivos .dll individuales sin incluirlos directamente en el ejecutable de su proyecto.

Sin embargo, solo las referencias en tiempo de compilación son totalmente compatibles con la ejecución de cBots en la Nube. La Nube actúa como un entorno dedicado que ejecuta el archivo ejecutable del cBot (el archivo .algo) sin gestionar ningún archivo .dll externo.

Las dependencias en tiempo de compilación se garantizan en todos los casos en los que se hace referencia a una biblioteca en las declaraciones using en la parte superior del código. Sin embargo, si hace referencia a un archivo .dll independiente dentro del cuerpo de su código (por ejemplo, a través del método Assembly.Load()), esta referencia no será en tiempo de compilación y su cBot no realizará ninguna operación relacionada en la Nube.

Dependencias multiplataforma

La Nube ejecuta todos los cBots en un entorno basado en Linux. Esto significa que si desea utilizar dependencias externas, estas dependencias deben ser multiplataforma.

A modo de ilustración, estas son algunas dependencias que no funcionarán en la Nube, ya que son específicas de Windows.

  • WPF
  • WinForms
  • WinAPI

Al añadir una nueva dependencia a su proyecto, lea su documentación para saber si es compatible con entornos basados en Linux.

Características de la API

Hay varias características de la API de Algo que funcionan de manera diferente en la Nube en comparación con la ejecución local.

Característica/método Cómo funciona en la Nube
MessageBox Siempre devuelve MessageBoxResult.None
Window Siempre se ignora
Notifications.PlaySound() Siempre se ignora
Account.UserNickName Siempre llama al controlador OnException()
Chart.TakeChartshot() Siempre devuelve null
WebSocketClient Solo funciona si se conecta a un servicio a través del puerto 25345
HTTP No se envían solicitudes HTTP
LocalStorage y operaciones con archivos Solo funciona si se especifican rutas relativas o se crean nuevos directorios desde cero

Almacenamiento local y operaciones con archivos

Cada vez que se detiene o elimina una instancia en la Nube, todos los recursos asignados a ella dentro de la Nube se liberan automáticamente. Si su cBot crea archivos o directorios y luego accede a datos de ellos, estos archivos se eliminarán en cada reinicio o eliminación de la instancia.

Image title