This article identifies the main affected areas you should be aware of in a new Orchestrator deployment. Some of the items addressed in this article must be taken care of prior to an upgrade/installation. Several of them are validated by the installer or by the Platform Configuration Tool if you choose to use it. We highly recommend that you download and use the Platform Configuration Tool to validate your environment prior to an upgrade.
.NET Core 3.1
目标框架
若要维护凭据存储插件和 NLog 扩展功能,必须将 TargetFramework
从先前的 .NET Framework 4.7.2 升级到受支持的目标框架。凭据存储和 NLog 扩展的目标框架都由 UiPathOrchestrator.msi
安装程序进行检查。
此限制也适用于插件或 NLog 扩展程序可能具有的所有引用。
Supported Target Frameworks | |||||||
---|---|---|---|---|---|---|---|
.NET Standard | 1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 |
.NET Standard | 2.0 (recommended) | 2.1 | |||||
.NET Core | 3.0 | 3.1 |
您可能需要重新编译内部开发的所有凭据存储插件和 NLog 扩展。
您可能需要标识针对指定目标框架的其他
.dll
文件,并将其复制到 Orchestrator 目录中。大多数 NLog 目标都支持指定的目标框架。但是,您必须确保正确复制.dll
。例如,如果使用NLog.Targets.Splunk
,则需要下载.nupkg
文件并以.zip
格式打开,然后导航至文件夹lib\netstandard2.0
并使用其中的.dll
文件。
凭据存储插件 - CyberArk
在较旧版本的 Orchestrator 中,CyberArk 凭据存储插件使用的库与 .NET Core 不兼容。Orchestrator 现在使用 CyberArk AIM 附带的 CLIPasswordSDK64.exe
工具。
该插件在默认的 CyberArk AIM 安装路径中搜索
CLIPasswordSDK64.exe
,即C:\Program Files (x86)\CyberArk\ApplicationPasswordSdk\CLIPasswordSDK64.exe
。如果 CyberArk AIM 未安装在默认路径上,则必须在UiPath.Orchestrator.dll.config
中添加指向实际路径的配置条目。路径可以安装前在web.config
的appSettings
部分,或安装后在UiPath.Orchestrator.dll.config
中指定。
示例:
<add key="Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath" value="D:\CustomFolder\CLIPasswordSDK64.exe" />
代理配置
不再使用 <defaultProxy>
标签在 web.config
中配置代理配置。不再支持的配置示例:
<system.net>
<defaultProxy>
<proxy usesystemdefault="True" proxyaddress="http://<ip>:<port>" bypassonlocal="True" />
</defaultProxy>
</system.net>
在 .NET Core 中,有两种用于指定代理的机制:
使用环境变量。
可以使用以下语法在 web.config
中设置环境变量:<environmentVariable name="[insert_variable_here]" value="[insert_address_here]" />
,例如 <environmentVariable name="HTTP_PROXY" value="http://127.0.0.1:8080" />
。
Variable | Description |
---|---|
HTTP_PROXY | The proxy server used on HTTP requests. |
HTTPS_PROXY | The proxy server used on HTTPS requests. |
ALL_PROXY | The proxy server used on HTTP and/or HTTPS requests in case HTTP_PROXY or HTTPS_PROXY are not defined. |
NO_PROXY | A comma-separated list of host-names that should be excluded from proxying. |
示例:
- 未经身份验证:
ALL_PROXY=http://localhost:8888
- 使用身份验证:
ALL_PROXY=http://user:password@localhost:8888
如果未设置环境变量,则使用默认代理系统(IE 设置或 Windows 代理设置)。
请在此查看 Microsoft 的官方文档。
配置文件
web.config
Orchestrator 的大多数配置设置已从 web.config
移至 UiPath.Orchestrator.dll.config
。新文件保留与旧文件 web.config
相同的结构,并且位于同一目录中。请记住,更改 UiPath.Orchestrator.dll.config
文件不会重新启动 IIS。以下部分已移动:
- 连接字符串
- 应用程序设置
- NLog 配置
- Quartz 配置
- 加密密钥
web.config
已重新调整用途,即仅包含 IIS 使用的配置。升级后,安装程序将自动将上述部分移至新的配置文件。它将转换 web.config
中的剩余配置,以匹配 Orchestrator 最新版本所需的配置。客户自定义配置将保留,包括禁用的动词、启用/禁用的模块、自定义的重写规则。
Check web.config
docs.
Check UiPath.Orchestrator.dll.config
docs.
IIS 管理器
连接字符串和应用程序设置在 IIS 管理器中不再可见。不支持使用 IIS 管理器编辑 Orchestrator 连接字符串或应用程序设置。
您需要直接编辑配置文件。
NLog 目标
对于类型为“数据库”的 NLog 目标,connectionStringName
属性已由 connectionString
替换。其值必须使用以下语法:connectionString="${ui-connection-strings:item=Default}"
,其中 Default
是您要在 <connectionStrings>
部分中使用的连接字符串的名称。
See docs on Targets of the Orchestrator Execution Logs.
如果您正在使用类型为
Database
的自定义 NLog 目标,则在升级过程中,属性connectionStringName
将自动更改为connectionString
。如果在安装/升级后手动将目标插入配置文件中,请使用使用正确值的新属性。
SignalR 协议
带 WebSocket 的 SignalR
我们已将 SignalR 库更新为较新的版本,该版本与较旧的机器人客户端不兼容。为在有作业可执行时不间断地通知无人值守机器人,我们已实施一种通过长轮询来模拟旧 SignalR 协议的兼容机制。2020.10 之前版本的机器人仅通过长轮询与 Orchestrator 建立连接。
我们建议您将机器人升级至 2020.10 以使用 WebSockets,这特别有助于提高大型机器人部署的成本效益。
SignalR 横向扩展粘滞会话
SignalR 横向扩展需要除 WebSocket 以外所有协议的粘滞会话(即 SSE 和长轮询)。
默认情况下,仅默认启用 WebSocket 传输,因为 Orchestrator 会假定客户的负载均衡器未启用粘滞会话。

在
UiPath.Orchestrator.dll.config
中添加<add key="Scalability.SignalR.RequireStickySessions" value="true" />
密钥以启用粘滞会话。如果设为true
,则启用所有传输,并且 Orchestrator 假定负载均衡器已启用粘性会话。在UiPath.Orchestrator.dll.config
中启用粘滞会话但不在负载均衡器上启用将导致 SignalR 连接失败。
SignalR SQL Server 横向扩展
在安装过程中,横向扩展机制从 SQL Server 切换到 Redis。不再支持禁用机器人/活动的 SignalR 身份验证。为此,Scalability.SignalR.AuthenticationEnabled
参数已弃用。
等待队列项目活动
如果使用早于 2020.10 的“等待队列项目”活动,则可能会遇到长达 30 秒的延迟情况。
升级到最新的活动版本以避免出现此类问题。
NuGet 基础架构
我们将内部 NuGet 订阅源的协议从 v2 更新到了 v3。
传统版本存储库
Legacy
不再是受支持的 NuGet 存储库类型。升级后,所有类型为 Legacy
的存储库都将迁移至 Composite
。
新包的位置取决于您使用先前的 Orchestrator 版本时在 web.config
中配置 NuGet.Packages.Path
和 NuGet.Activities.Path
参数的方式。
- 如果您将包存储在默认位置(
~/NuGetPackages
和~/NuGetPackages/Activities
),则包的新位置将变为RootPath=.\Storage
。 - 如果您将包存储在自定义位置,则系统在安装过程中会要求您选择新的存储位置。对于静默安装,除非您在升级前已在
web.config
指定参数,否则必须使用STORAGE_TYPE
和STORAGE_LOCATION
参数。
v2020.10 + 使用 UiPath.Orchestrator.dll.config
中的 Storage.Type
和 Storage.Location
参数配置包的位置。升级后,所有与 Legacy
相关的应用程序设置将弃用,并且失效。
NuGet.Packages.Path
NuGet.Activities.Path
Nuget.EnableRedisNodeCoordination
Nuget.EnableNugetServerLogging
NuGet.EnableFileSystemMonitoring
NuGet.Repository.Type
Composite
存储库不支持在专用的包文件夹中使用复制粘贴命令。
Swagger 库
我们对描述了 Orchestrator API 的 swagger.json
文件的生成方式进行了重大更改。如果您依赖使用 Swagger 文件中的 API 描述的客户端库生成器(例如:AutoRest、Swagger Codegen),则生成的代码将有很大的不同。
您可能需要更新使用自动生成的客户端的任何其他自定义工具。
API Changes
具有表单 POST 参数的 API
无法再使用表单数据对象中的参数发出 POST
请求。
向 Orchestrator 发出
POST
请求的唯一受支持的机制是在请求正文中提供 JSON 格式的请求参数。
约一个月前更新