【问题标题】:How to add my MS Bot app in my own Asp.Net web application如何在我自己的 Asp.Net Web 应用程序中添加我的 MS Bot 应用程序
【发布时间】:2018-06-13 21:26:48
【问题描述】:

enter image description here我使用 C# 和 LUIS 创建了 MS Bot 应用程序,用于 Intents 识别。 我想在我自己的示例 Asp.Net Web 应用程序中添加聊天 UI。 我没有使用 Azure 服务,只是我使用了 LUIS 服务的用户意图识别并使用 C# 开发了 MS Bot。 如何使用我自己的 Web 应用程序为聊天机器人集成或提供新的 UI。

【问题讨论】:

  • 看起来您已经为它制作了桌面 UI,因此您需要将桌面 UI 替换为基于 Web 的 UI,但在下面使用相同的功能。
  • 是的@ADyson,你是对的,它在桌面 UI 中,但我想转换为基于 Web 的 UI。我如何将此应用程序部署到像 Asp.net 页面这样的 Web 应用程序中。这就是我要寻找的东西。
  • 它看起来(更仔细地查看您的屏幕截图)因为它有一个 URL 和 web.config,这已经是一个独立的网络应用程序了吗?你只是在某种模拟器中运行它?基本上,您在那里有一个 Web API 控制器,以及一个可能包含对 API 的 ajax 调用的 HTML 页面。因此,您可以将 HTML/ajax 移动到您的 asp.net 应用程序中,并使用它调用机器人 API - 您可以将其部署为单独的端点。
  • @ADyson 我在该 Json 设置中有 WebApiConfig.cs 文件,提供了 WebAPI 配置和服务,并且我将主类作为消息控制器,只有我的它将开始触发
  • 请你一步一步解释......

标签: c# asp.net bots botframework chatbot


【解决方案1】:

Here 您可以从这里看到作为应用程序起点的消息控制器,只有它启动。这里只有我们发送和接收用户的响应。

【讨论】:

    【解决方案2】:

    您可以分别开发您的 bot 应用程序和您的 asp.net 应用程序。要将您的机器人嵌入您的网络应用程序,您可以使用Direct Line API

    例如,发布你的机器人后,你可以Connect a bot to Direct Line,简单的方法是在你的网页中使用IFRAME例如:

    <iframe src='path to your bot with SECRET key or token' height="height" width="width"></iframe>
    

    更多信息可以参考ReadMeMicrosoft Bot Framework Web Chat

    【讨论】:

      【解决方案3】:

      选项 1:托管网络聊天

      在将页面返回给用户之前,请务必将直接线路密码交换为令牌。秘密不应该被分享。更多信息可以在这里找到:https://docs.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-direct-line-3-0-authentication

      <!DOCTYPE html>
      <html>
        <body>
          <div id="webchat" role="main"></div>
          <script src="https://cdn.botframework.com/botframework-webchat/latest/webchat.js"></script>
          <script>
            window.WebChat.renderWebChat({
              directLine: window.WebChat.createDirectLine({ token: 'YOUR_DIRECT_LINE_TOKEN' }),
              userID: 'YOUR_USER_ID',
              username: 'Web Chat User',
              locale: 'en-US',
              botAvatarInitials: 'WC',
              userAvatarInitials: 'WW'
            }, document.getElementById('webchat'));
          </script>
        </body>
      </html>
      

      选项 2:iframe

      在 Azure 中注册机器人服务后,最简单的方法是将 iframe 嵌入代码添加到由机器人应用程序模板创建的 default.htm 文件中的 &lt;body&gt;

      <body>
         <iframe src='https://webchat.botframework.com/embed/YOUR_BOT_HANDLE?t=YOUR_WEBCHAT_TOKEN' height="400" width="400"></iframe>
      </body>
      

      请务必更改 YOUR_BOT_HANDLE 和 YOUR_WEBCHAT_TOKEN 以匹配您自己的。

      然后,当您运行项目时,显示的页面将显示连接到您的机器人的网络聊天控件。

      【讨论】:

      • 我认为使用 iframe 的缺点是通过检查很容易获得秘密。那么为什么不使用 API 呢?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-09
      • 1970-01-01
      • 1970-01-01
      • 2016-06-13
      • 2013-08-01
      • 2017-10-23
      相关资源
      最近更新 更多