从一个机器人实例服务多个机器人
serving multiple bots from one bot instance
我想从一个机器人实例为多个机器人提供服务。
例如:api/bot1/messages、api/bot2/messages 等。
我 google 我发现了一些来自 github.
的无效链接
我阅读了文档:https://docs.botframework.com/en-us/csharp/builder/sdkreference/connectormisc.html#securing
但是如何设置呢?我的网站 api 需要一些路由配置吗?
如何"load" 将 Microsoft 应用程序 ID 和密码授予消息控制器?
顺便说一下,我是网络 api 和机器人框架的新手。
当您在 C# 中创建一个新的机器人时,您将获得一个带有默认路由 api/Messages 的 MessagesController。
要在同一个项目中创建第二个机器人,您可以创建一个新的控制器(例如复制 MessagesController 并重命名)。然后你会得到一个带有控制器名称的新路由,例如 SecondMessagesController => api/SecondMessages
使用 Class 定义上方的 RoutePrefix
属性,您可以更改路由名称,例如 [RoutePrefix("api/bot1messages")]
.
那是我本地测试没问题的。发布机器人需要以下部分,但我还没有测试过:
目前两个Bot的权限相同,因为都是使用web.config
获取AppId和AppPassword。但是 BotFrameworks 需要每个机器人的个人 ID 和密码。为此,您可以直接在 BotAuthorization
属性中提供它们,例如 [BotAutorization(AppId = "MyId", AppPassword = "MyPassword")]
我想从一个机器人实例为多个机器人提供服务。 例如:api/bot1/messages、api/bot2/messages 等。 我 google 我发现了一些来自 github.
的无效链接我阅读了文档:https://docs.botframework.com/en-us/csharp/builder/sdkreference/connectormisc.html#securing
但是如何设置呢?我的网站 api 需要一些路由配置吗?
如何"load" 将 Microsoft 应用程序 ID 和密码授予消息控制器?
顺便说一下,我是网络 api 和机器人框架的新手。
当您在 C# 中创建一个新的机器人时,您将获得一个带有默认路由 api/Messages 的 MessagesController。
要在同一个项目中创建第二个机器人,您可以创建一个新的控制器(例如复制 MessagesController 并重命名)。然后你会得到一个带有控制器名称的新路由,例如 SecondMessagesController => api/SecondMessages
使用 Class 定义上方的 RoutePrefix
属性,您可以更改路由名称,例如 [RoutePrefix("api/bot1messages")]
.
那是我本地测试没问题的。发布机器人需要以下部分,但我还没有测试过:
目前两个Bot的权限相同,因为都是使用web.config
获取AppId和AppPassword。但是 BotFrameworks 需要每个机器人的个人 ID 和密码。为此,您可以直接在 BotAuthorization
属性中提供它们,例如 [BotAutorization(AppId = "MyId", AppPassword = "MyPassword")]