目录

(一)微信公众号开发之VS远程调试
(二)微信公众号开发之基础梳理
(三)微信公众号开发之自动消息回复和自定义菜单

前言

微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流程是这样的,用户发送消息到微信服务器,微信服务器将接收到的消息post到用户接入时填写的url中,在url处理程序中,首先判断消息的合法性,判断成功后根据消息体的内容做相应的相应。原理很容易理解,接触过socket的可能理解起来更容易。

其实微信开发并不是很麻烦或者很难,官方给的文档也还算过的去(至少比微信支付的文档好上百倍),最让人痛苦的就是调试,因为微信开发的过程中,用户接收微信发送过来的消息的处理程序对于微信来说,就是一个服务器,调试起来很蛋疼,我们无法打断点,只能用写文本文件来看程序的运行状况。不知道有没有小伙伴在刚开始的时候像我一样:将代码部署到外网服务器,然后发送消息给公众号,然后看调试文件,发现需要修改的地方后,再修改代码,然后再把dll上传到服务器…………,这样的操作太浪费时间,效率也很低,说多了都是泪啊。

所以此文是介绍 vs远程调试

IIS配置

第一步  IIS的配置

进入iis,点击网址,选择你的网站,在窗口的右边编辑网站中点击绑定,如图所示。

进入网站绑定窗口,编辑或者添加绑定,ip可以不选,主机名写你的花生壳的域名,如图:

填写完成后,点击确定,iis配置完成。

VS配置

第二步  VS配置

打开你的项目,选择你的web项目,右击,选择属性。

进入web,在服务器一栏中,去掉使用IIS Express(X)选项,项目url填写绑定的iis中的域名,也就是花生壳赠送的域名,记得加上http:// ,如图所示:

配置完成后 Ctrl+S保存,vs配置暂时完成。

注:可能在保存的时候会提示下图的错误

解决方法:打开VS的时候右键用管理员身份运行即可

远程调试配置

第三步  远程调试器配置

我的环境是win7+vs2012,配置的过程中,可能会有些不同,但个人觉得也就大同小异。

首先,找到visual studio tool如图:

打开后,找到Remote Debugger Folder快捷方式并打开,根据自己的系统选择x86或者x64,双击打开。

找到msvsmon.exe,右击,以管理员身份运行。运行后如图:

选择工具,选项,选择无身份验证,并勾选运行任何用户进行调试,点击确定

调试器配置完成。

启动调试

第四步  启动调试

在vs中,选择调试,附加到进程

在传输一栏,选择“远程(无身份验证)”,限定符一栏,输入你的本机ip或者主机名,然后点击右下角刷新。

点击刷新之后,在可用进程一栏中,找到w3wp.exe进程,注意留意用户名一栏,看看时候是你要调试的网站的应用程序池,如果没有找到w3wp.exe,请到iis中,打开你的网站后,再点击刷新,即可找到。

找到此进程后,双击,弹出附近安全警告,选择附加即可。

注:如果刷新之后找不到上图中的w3wp.exe,说明你IIS没有启动,将IIS启动浏览网站之后,再刷新即可看到

到此就已经可以进行远程调试了。下面简单看下例子。

进入微信公众平台,进入开发者中心,找到服务器配置,点击修改配置。

最终效果

输入你的url和token后,点击提交按钮,激动人心的时候到了,顺利进入调试模式~~~~~

若url正确及Token一致,就会提示配置成功,这样第一步算是完成了!

未完待续。。。持续填坑中。。。。

微信公众号开发之VS远程调试的更多相关文章

  1. 微信公众号开发之H5页面跳转到指定的小程序

    前言: 最近公司有一个这样的需要,需要从我们在现有的公众号H5页面中加一个跳转到第三方小程序的按钮.之前只知道小程序之间是可以相互跳转的,今天查阅了下微信开发文档原来现在H5网页也支持小程序之间的跳转 ...

  2. 微信公众号开发之access_token的全局共用

    最近做微信公众号开发,涉及到access_token的缓存问题(避免各自的应用都去取access_token,同时解决微信 appid和appsecret的安全问题),在通用权限管理系统底层增加了实现 ...

  3. 微信公众号开发之LBS

    百度地图Web服务api:http://lbsyun.baidu.com/index.php?title=webapi 1.测距 Route Matrix API v2.0:http://lbsyun ...

  4. 微信公众账号开发之N个坑(二)

    上篇说到微信公众账号的几个坑,前面五个,已经说到菜单,宝宝继续往下赘述了.可惜,还不知道宝宝的宝宝到底是不是心疼宝宝呢,完了,我凌乱了... 回到正题,我们就不吐槽其他的了,上一篇说到微信的菜单了,那 ...

  5. 微信公众账号开发之N个坑(一)

    我这人干活没有前奏,喜欢直接开始.完了,宝宝已经被你们带污了.. 微信公众账号开发文档,官方版(https://mp.weixin.qq.com/wiki),相信我,我已经无力吐槽写这个文档的人了,我 ...

  6. Java微信公众平台开发之OAuth2.0网页授权

    根据官方文档点击查看在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的"开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息"的配置选项中,修 ...

  7. 公众号开发之wx-tools+springboot应用实战-音乐爬虫推送[JAVA]

    springboot+wx-tools实践!音乐爬虫推送公众号DEMOGitHub地址:wx-tools 最终DEMO源码地址: music_collector 先理一下大概的开发步骤: 1. 创建一 ...

  8. 微信订阅号开发之token验证后,自动回复消息功能做好,发送消息没有返回

    相信很多人会跟我一样,token验证之后,发送消息给订阅号,没有消息返回. 以下,说一下我辛苦调试得到的解决办法: 首先,token验证: 自己写的token一直验证失败,找了好久,没有发现bug.实 ...

  9. nat123 与微信公众号开发者测试账号配合调试

    由于公司本身是做互联网 电商行业的,微信也是一个大块,近期开始花费时间在整合,总结自己的经验,看看之前的实现是否有明显的问题. 花了点钱(8块钱)充值了nat123,进行了内网穿透.之前也有使用花生壳 ...

随机推荐

  1. 使用struct处理二进制

    有的时候需要用python处理二进制数据,比如,存取文件.socket操作时.这时候,可以使用python的struct模块来完成. struct模块中最重要的三个函数是pack(), unpack( ...

  2. ABP文档 - 导航

    文档目录 本节内容: 创建菜单 注册导航供应器 显示菜单 每个web应用都有一些菜单用来在页面/屏幕之间导航,ABP提供了一个通用的基础框架创建并显示菜单给用户. 创建菜单 一个应用可能由不同模块组成 ...

  3. 红黑树——算法导论(15)

    1. 什么是红黑树 (1) 简介     上一篇我们介绍了基本动态集合操作时间复杂度均为O(h)的二叉搜索树.但遗憾的是,只有当二叉搜索树高度较低时,这些集合操作才会较快:即当树的高度较高(甚至一种极 ...

  4. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  5. docker for mac 学习记录

    docker基本命令 docker run -d -p 80:80 --name webserver nginx 运行容器并起别名 docker ps 展示目前启动的容器 docker ps -a 展 ...

  6. ASP.NET Core应用针对静态文件请求的处理[3]: StaticFileMiddleware中间件如何处理针对文件请求

    我们通过<以Web的形式发布静态文件>和<条件请求与区间请求>中的实例演示,以及上面针对条件请求和区间请求的介绍,从提供的功能和特性的角度对这个名为StaticFileMidd ...

  7. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  8. celery使用的一些小坑和技巧(非从无到有的过程)

    纯粹是记录一下自己在刚开始使用的时候遇到的一些坑,以及自己是怎样通过配合redis来解决问题的.文章分为三个部分,一是怎样跑起来,并且怎样监控相关的队列和任务:二是遇到的几个坑:三是给一些自己配合re ...

  9. Atitit.技术管理者要不要自己做开发??

    Atitit.技术管理者要不要自己做开发?? 1. 为什么很多管理者不能自己亲自做了1 1.1. 沟通成本多了1 1.2. .组织分散. 1 1.3. 会议多 .协调多 1 1.4. 问题的根源在于我 ...

  10. MSSQL 事务,视图,索引,存储过程,触发器

    事务 事务是一种机制.是一种操作序列,它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行. 在数据库系统上执行并发操作时事务是作为最小的控制单元来使用的.这特别适用于多用户同时操作的数据 ...