C# 为Botframework Bot配置自定义端点

C# 为Botframework Bot配置自定义端点,c#,botframework,C#,Botframework,我想在C#中创建一个机器人。如何设置端点的路径 我试着去做 httpConfiguration.MapBotFramework(botConfig => { botConfig.UsePaths(paths => { paths.BasePath = "/bot"; paths.MessagesPath = "/john"; });

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

我试着去做

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

        });

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

如果您使用提供的集成层,端点将被硬编码,您可以通过不使用我们的集成层来改变这一点。这方面的例子有很多

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

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

{
  "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";

实际上,对我有效的代码如下所示:

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

两个frameworkoptions.path的作用是什么?