【问题标题】:Configure Custom Endpoint for Botframework Bot为 Botframework Bot 配置自定义端点
【发布时间】:2018-10-24 16:12:40
【问题描述】:

我想用 C# 创建一个机器人。如何设置端点的路径。

我试过了

        httpConfiguration.MapBotFramework(botConfig =>
        {
            botConfig.UsePaths(paths => {
                paths.BasePath = "/bot";
                paths.MessagesPath = "/john";
            });

        });

但是当访问 http://localhost:7990/bot/john 时,我确实得到了 404。

【问题讨论】:

    标签: c# botframework


    【解决方案1】:

    如果您使用提供的集成层,端点将被硬编码,您可以通过不使用我们的集成层来更改它。 this project 中有一个这样的例子

    编辑
    有趣,因为我没有从这个角度想到它。我喜欢另一种方式,因为它可以让您对端点进行更开放的控制并轻松允许多个端点,但这也可以。通过对它进行一些更改,我能够成功地更改机器人的端点。

    首先我像这样设置我的 .bot 文件,用“端点”属性中的不同路径替换旧路径:

    {
      "name": "{your botname}",
      "padlock": "{your-padlock}",
      "services": [
        {
          "type": "endpoint",
          "name": "development", // "production" would work too
          "endpoint": "https://{your-site}.azurewebsites.net/bot/endpoint",
          "appId": "{your-app-id}",
          "appPassword": "{your-app-password}",
          "id": "1"
        }
      ],
      "version": "2.0"
    }
    

    然后我所要做的就是将它添加到我的启动中:

    options.Paths.BasePath = "/bot";
    options.Paths.MessagesPath = "/endpoint";
    

    【讨论】:

    • BotFrameworkOptions.Paths 有什么作用?
    【解决方案2】:

    实际上对我有用的代码如下:

    httpConfiguration.MapBotFramework(botConfig =>
    {
        botConfig.BotFrameworkOptions.Paths = new BotFrameworkPaths()
        {
            BasePath = "/bot",
            MessagesPath = "/john"
        };
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多