Vai al contenuto

Requisiti per i cBot

Ci sono due requisiti principali che devi soddisfare per garantire che le tue istanze di cBot possano funzionare senza problemi in cloud: riferimenti in fase di compilazione e dipendenze multipiattaforma.

Riferimenti in fase di compilazione

Esistono diversi modi per lavorare con le dipendenze in .NET. Ad esempio, puoi fornire le dipendenze come singoli file .dll senza includerle direttamente nell'eseguibile del progetto.

Tuttavia, solo i riferimenti in fase di compilazione sono completamente compatibili con l'esecuzione dei cBot in cloud. Il cloud funge da ambiente dedicato che esegue il file eseguibile del cBot (il file .algo) senza gestire alcun file .dll esterno.

Le dipendenze in fase di compilazione sono garantite in tutti i casi in cui si fa riferimento a una libreria nelle istruzioni using all'inizio del codice. Tuttavia, se si fa riferimento a un file .dll autonomo all'interno del corpo del codice (ad esempio, tramite il metodo Assembly.Load()), questo riferimento non sarà in fase di compilazione e il cBot non eseguirà alcuna operazione correlata in cloud.

Dipendenze multipiattaforma

Il cloud esegue tutti i cBot in un ambiente basato su Linux. Ciò significa che se si desidera utilizzare dipendenze esterne, queste dipendenze devono essere multipiattaforma.

A titolo di esempio, ecco alcune dipendenze che non funzioneranno in cloud in quanto specifiche per Windows.

  • WPF
  • WinForms
  • WinAPI

Quando si aggiunge una nuova dipendenza al progetto, leggere la relativa documentazione per verificare se è supportata in ambienti basati su Linux.

Funzionalità API

Esistono diverse funzionalità dell'API Algo che funzionano in modo diverso in cloud rispetto all'esecuzione locale.

Funzionalità/metodo Come funziona in cloud
MessageBox Restituisce sempre MessageBoxResult.None
Window Viene sempre ignorato
Notifications.PlaySound() Viene sempre ignorato
Account.UserNickName Chiama sempre il gestore OnException()
Chart.TakeChartshot() Restituisce sempre null
WebSocketClient Funziona solo se ci si connette a un servizio tramite la porta 25345
HTTP Non viene inviata alcuna richiesta HTTP
LocalStorage e operazioni sui file Funziona solo se vengono specificati percorsi relativi o se vengono create nuove directory da zero

Archiviazione locale e operazioni sui file

Ogni volta che un'istanza cloud viene interrotta o eliminata, tutte le risorse ad essa allocate all'interno del cloud vengono automaticamente liberate. Se il cBot crea file o directory e quindi accede ai dati da essi, questi file verranno eliminati a ogni riavvio o eliminazione dell'istanza.

Image title