首页 > 解决方案 > 在 Orchard Core 中添加机器人

问题描述

我正在尝试在 Orchard Core CMS 应用程序中使用 Microsoft Bot Framework 添加一个 Bot。我对 Orchard Core 比较陌生,我已经使用 Orchard Core 模板设置了一个新项目。

问题背景/场景:

这是我的问题: - 有没有办法让 Orchard Core 知道这条路线?- 最终我希望能够在我的 Orchard Core CMS 站点中的多个租户下启用此模块

标签: c#routing.net-corebotframeworkorchardcms

解决方案


因此,我将做出有根据的猜测,即您IApplicationBuilder在启动期间遇到了处理程序注册顺序的问题。如果您不知道,您在应用程序构建器上映射事物的顺序真的很重要。

因为您有一个现有的代码库,所以我猜想当您添加机器人时,您.UseBotFramework()在最后添加了调用。由于默认情况UseBotFramework()下将注册您的机器人/api/messages,因此您已经映射的现有 MVC 路由很有可能“吞下”打算发送给机器人的请求。您有两种选择来解决这个问题:

  1. 移动.UseBotFramework()它,使其位于任何其他路由映射之前,以便它首先处理传入的请求。
  2. 更改机器人将侦听的路由,使其不会与您的 API 控制器路由冲突。这是在AddBot<YourBot>(…)通话期间完成的,如下所示:
services.AddBot<YourBot>(options => 
{
    options.Paths.BasePath = "bots";
});

这将导致路径变为/bots/messages。如果需要,您还可以/messages通过options.Paths.MessagesPath.


推荐阅读