集成Microsoft Bot以存在WebAPI

时间:2019-01-23 05:24:39

标签: c# asp.net-core botframework asp.net-core-webapi app-startup

我有一个仅 Controllers (WebAPI)的ASP.NET Core项目。 我意识到Microsoft Bot只是ASP.NET服务器的中间件,甚至是在WebHost启动方法中定义的。

我可以将现有项目添加到该机器人的中间件中吗? 它会保留使用REST直接访问端点的功能吗?

1 个答案:

答案 0 :(得分:2)

这绝对是100%可行的,并且从一开始就是集成层的目标之一。

您要确保的一件事是,将.UseBotFramework()调用放在.UseMvc()调用之前,以便它在处理请求时具有优先级,而默认MVC路由不会结束并吞下请求。

对于具有静态文件,漫游器和MVC控制器的基本网络应用,我建议以下顺序:

public void Configure(IApplicationBuilder app)
{
    app.UseDefaultFiles()
       .UseStaticFiles()
       .UseBotFramework()
       .UseMvc();    
}