zoukankan      html  css  js  c++  java
  • Bot Framework Emulator应用与调试

    在《Bot Framework的简单实现》一文中已经实现了Bot Framework的简单应用,可以通过注册自己的了Bot实现与本地IIS下的服务交互。除了这种通过注册Bot的方式来测试外,我们还可以通过Bot Framework Enulator,即Bot模拟器来测试。Bot Framework Emulator的下载地址在这里,下载安装后启动,界面如下。


    该模拟器需要以管理员的身份启动。我用的是win10的administrator用户登陆,但怎么启动都失败,后来更改了组策略才正常启动。其方法如下

    1  在运行框 里面输入“gpedit.msc”。
    2  打开组策略编辑器,计算机配置->windows设置->安全设置->->本地策略->安全选项
    3  找到“用于内置管理员账户的管理员批准模式”设置为已禁用。然后重启,就可以了。

    如下图


    现在我们修改响应的代码。为了能够验证AppID和AppSecret,我们需要在MessagesController.cs的代码中将BotAuthentication加入到类MessagesController的顶部。新的代码如下

    using System;
    using System.Linq;
    using System.Net;
    using System.Net.Http;
    using System.Threading.Tasks;
    using System.Web.Http;
    using System.Web.Http.Description;
    using Microsoft.Bot.Connector;
    using Microsoft.Bot.Connector.Utilities;
    using Newtonsoft.Json;
    
    namespace BotDemo
    {    
        [BotAuthentication]
        public class MessagesController : ApiController
        {
            /// <summary>
            /// POST: api/Messages
            /// Receive a message from a user and reply to it
            /// </summary>
            public async Task<Message> Post([FromBody]Message message)
            {
                if (message.Type == "Message")
                {
                    // calculate something for us to return
                    int length = (message.Text ?? string.Empty).Length;
    
                    // return our reply to the user
                    return message.CreateReplyMessage($"You sent '{message.Text}'.Length is {length}");
                }
                else
                {
                    return HandleSystemMessage(message);
                }
            }
    
            private Message HandleSystemMessage(Message message)
            {
                Message reply = null;
    
                reply = message.CreateReplyMessage("您执行了" + message.Type);
                reply.Type = message.Type;
    
                return reply;
            }
        }
    }

    经编译重新发布到IIS下后,我们使用模拟器来发起请求。记得请求的URL中的端口需要改成对就的端口,比如我这里用的是20080端口。

    如果需要调试,需要将项目以Debug的形式编辑,然后将Bin下的文件复制到发布的位置,一定记得复制与dll相对应的pdb文件,简单的就全部复制过去即可。


    然后在VS中以附加进程的方式来调试,如下图。



    IIS是在w3wp.exe下运行的,注意看其后对应的位置是否是所发布的位置,当有多个网站的时候特别要注意。如果没有显示w3wp.exe的,可以勾选上“显示所有用户进程”。

    接下来在模拟器发起请求后就可以进入代码调试了,如下图。


    这样就实现了bot framework emulator的应用与调试。

    转载请注明出处。





  • 相关阅读:
    Leetcode929.Unique Email Addresses独特的电子邮件地址
    Leetcode914.X of a Kind in a Deck of Cards卡牌分组
    new Date()设置日期在IOS的兼容问题
    koa2 使用passport权限认证中间件
    当 better-scroll 遇见 Vue
    百度地图开发
    通过Ajax方式上传文件,使用FormData进行Ajax请求
    app中页面滑动,防止a链接误触
    js判断是微信、QQ内置浏览器打开页面
    百度天气预报接口介绍
  • 原文地址:https://www.cnblogs.com/sparkleDai/p/7604935.html
Copyright © 2011-2022 走看看