跳转至

cBot 的要求

为确保您的 cBot 实例能在云端顺利运行,您需要满足两个主要要求:编译时引用和跨平台依赖。

编译时引用

在 .NET 中有多种处理依赖项的方法。 例如,您可以将依赖项作为单独的 .dll 文件提供,而无需将它们直接包含在项目可执行文件中。

然而,只有编译时引用才能与在云端运行 cBot 完全兼容。 云端充当专用环境,运行 cBot 可执行文件(.algo 文件),而不管理任何外部 .dll 文件。

在所有情况下,当您在代码顶部的 using 语句中引用库时,都能确保编译时依赖项。 但是,如果您在代码主体中引用独立的 .dll 文件(例如,通过 Assembly.Load() 方法),这种引用将不是编译时引用,您的 cBot 将不会在云端执行任何相关操作。

跨平台依赖

云端在基于 Linux 的环境中执行所有 cBot。 这意味着如果您想使用外部依赖项,这些依赖项必须是跨平台的。

举例说明,以下是一些无法在云端工作的依赖项,因为它们是特定于 Windows 的。

  • WPF
  • WinForms
  • WinAPI

在向项目中添加新的依赖项时,请阅读其文档以了解它是否支持基于 Linux 的环境。

API 功能

与本地执行相比,有几个 Algo API 功能在云端的工作方式不同。

功能/方法 在云端的工作方式
MessageBox 始终返回 MessageBoxResult.None
Window 始终被忽略
Notifications.PlaySound() 始终被忽略
Account.UserNickName 始终调用 OnException() 处理程序
Chart.TakeChartshot() 始终返回 null
WebSocketClient 只有通过端口 25345 连接到服务时才有效
HTTP 不发送 HTTP 请求
LocalStorage 和文件操作 只有在指定相对路径或从头创建新目录时才有效

本地存储和文件操作

每当云实例停止或删除时,分配给它的所有云资源都会自动释放。 如果您的 cBot 创建文件或目录并从中访问数据,这些文件将在每次实例重启或删除时被删除。

Image title