微信企业号需要指定一个URL,在确定之后,一般不会修改。当正式版发布后,后续还在开发。在后续的开发中,调试相当关键。因为有些行为在微信中和移动端的浏览器(即使是使用QQ浏览器)表现的可能不一致。所以迫切的需要有一个功能,可以直接在微信端调试本地的代码。

一、准备工作:

1.需要在本地架设一个IIS服务器。我是在Win7上的IIS中架设,端口设置为80.

2.使用代理工具,将本地的端口映射到外网,使外网可以访问。我用的是ngrok,该工具可以直接在https://ngrok.com/中下载(不必注册,直接下来就可以使用)。

二、实现过程

1.用VS2012打开开发的微信企业号项目(没有的直接新建一个Asp.net网站项目或者WCF项目)

2.将网站项目发布到本地的IIS服务器的网站目录下(比如:D:/Web)。

(1).这里需要注意的是,发布时一定记得在发布的配置中将调试信息的选项给勾上,这样才能将相应的pdb调试文本发布到站点,以利于后面的断点调试。

(2).发布的配置图如下

注:在点击“发布”后弹出的对话框中,选择配置文件(没有的需创建),然后点击“设置"项,选中”在发布期间预编译“,再点击旁边的配置按钮,在弹出的对话框中,选中"发出调试信息",然后点确定。

(3)按照上面的配置发布后,在站点的bin文件夹下会多一些pdb的文件。这些pdb文件就是调试时,用于载入相关符号及定位断点位置用的。

3.映射本地站点到外网

(1).将下载下来的ngrok解压到d盘,放到d:/ngrok文件夹下,然后通过cmd命令启动(注意一定要用cmd命令启动,直接点击没有效果),输入ngrok 80(端口号依具体配置而定)。

(2).启动后可以看到如下画面。

从画面中,可以看到本地的80端口已经映射到外网,其地址为红线框内的地址。需注意的是,每次重新打开后,该地址都会重新生成。可以将该地址输入到浏览器中直接访问,测试一下效果。

4.在微信企业号的网页中增加一个调试跳转的入口,比如使用一个按钮。(因为这个测试按钮是针对特定的人员才能使用,所以建议增加一个权限控制。)

注:微信测试下中转的链接,就是ngrok生成的链接。在点击该链接后,ngrok端会显示请求的情况。

注:红框内显示的就是点击"微信测试"按钮后发起的一系列请求(为了更方便的配置链接,可以增加一个参数,做到配置文件或者数据库中)。

5.本地代码的断点调试

(1).为了能够调试本地代码,必须要附加到IIS中对应站点的进程中。点击VS中的”工具“,在下接菜单项中,点击"附加到进程"。

注:

1). 在弹出的对话框中,选中"显示所有用户的进程",找到"w3wp.exe"的进程。如果有多个站点在运行的,再看一下”用户名“那一列。比如我的站点是qywx,所以在用户名这一列可以看到"IIS APPPOOL\qywx"。

2).然后选择"附加",在弹出的对话框中,继续选择"附加",这时项目会进入调试模式。

3).在相应的页面的后台代码中设置断点,在访问该页面时,就会进入断点。这个和一般的调试一样。

这样一来,就实现了页面在微信中的直接调试。当我们更改了页面之后,可以直接先在微信中看看效果。

以上的调试方式,用到了IIS的网站架设、IIS站点的调试支持、本地站点映射到外网、VS的附加进程调试。

转载请注明出处。http://blog.csdn.net/xxdddail/article/details/42740141

转载于:https://www.cnblogs.com/sparkleDai/p/7604972.html

微信企业号开发之正式版的本地调试相关推荐

  1. 微信企业号开发:启用回调模式

    微信企业号开发怎样启用回调模式?就是简单的登陆PC版微信,点击应用中心,选择须要应用,再点击回调模式启用? 似乎不是这么简单.! 能够看到核心的仅仅有三个URL.Token,EncodingAESKe ...

  2. 微信企业号开发(2)--建立连接(主动)

    [本文所描述的内容具有一定的时效性,请以实际开发所处环境为准] 在微信企业号开发(1)--基础入门中,我们已经学习了,我们的程序结构应该如何设计.接下来,我们会按照微信企业号开发者接口文档的顺序,逐一 ...

  3. 新书《微信企业号开发揭秘》已出版,全书采用WeChatEnterprise框架开发

            新书<微信企业号开发揭秘>已出版,全书基于源码与API逐步讲解,采用WeChatEnterprise框架开发 纸质书购买地址:  天猫    京东    当当    亚马逊 ...

  4. 微信企业号开发:微信考勤百度地图定位

    之前在微信企业号开发:微信考勤中使用了百度地图的定位组件,但发现在部分手机上会出现定位失败的提示,于是有研究了一下百度地图.原来使用的Web组件百度不打算更新了,也是重新查了一下百度地图的其他API, ...

  5. rose 2003 7.0_安卓微信7.0.17正式版更新:十大新鲜功能~

    "赶不上新的变化,那就来适应TA!" 昨日,安卓微信7.0.17正式版更新啦!不知道大家有没有在第一时间更新呢? 距7.0.17内测版5天,微信发布了7.0.17正式版,说明速度还 ...

  6. 安卓微信8.0.11正式版发布:体积突破200MB

    iOS端微信8.0.11正式版发布后三天,安卓端微信而已迎来了同样的新版本,各大应用商店已经可以更新. 至于更新日志,和iOS新版一样,还是那句万年不变的"解决了一些已知问题". ...

  7. 微信企业号开发[二]——获取用户信息

    注:文中绿色部分为摘自微信官方文档 在<微信企业号开发[一]--创建应用>介绍了如何创建应用,但是当用户点击应用跳转到我们设定的URL时,其实并没有带上用户的任何信息,为了获取用户信息,我 ...

  8. Jeewx-Enterprise_1.1版本发布,开源微信企业号开发平台

    JEEWX企业号简介 JEEWX微信企业号开发平台是一款开源.免费.高效.敏捷的微信企业号开发平台,采用JAVA语言基于Jeecg快速开发框架实现,实现了微信企业号管理平台的基础功能,便于用户二次开发 ...

  9. android 版本更新忽略,安卓微信7.0.14 正式版更新,几个被你忽略的微信小技巧

    安卓微信7.0.14 正式版更新,几个被你忽略的微信小技巧 2020-05-01 22:50:38 44点赞 101收藏 30评论 " 生活中总有几个小技巧让你得心应手!" 今天给 ...

最新文章

  1. 麒麟处理器是基于arm的吗_麒麟芯片是基于ARM构架,如果得不到授权华为还能活吗?...
  2. ZZ--是谁送走了我们的同事
  3. java 调用远程服务_java调用(请求)远程服务地址
  4. 约瑟夫环的数学优化方法
  5. python 计时_Python time clock()方法
  6. 计算机结构介绍,计算机系统结构介绍.pdf
  7. 使用PowerDesinger 正向工程
  8. 使Docker Container支持运行SWT程序
  9. (简易版)c语言人机对战五子棋
  10. SPSS-非参数检验
  11. css3图片放大缩小过度动画
  12. vue中组件的父子关系
  13. solarflare低延迟网卡_Solarflare低延迟万兆网卡配置和性能调优实践
  14. 高德地图大头针功能_绘制点标记-在地图上绘制-开发指南-iOS 地图SDK | 高德地图API...
  15. 防火墙、DCD与TCP Keep alive
  16. OUC软件开发实验6
  17. MySQL面试系列:MVCC是怎么实现的?(三)
  18. java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字
  19. 东华大学 oj87——弟弟的作业
  20. (编译原理)实验四 扩展功能的PL/O编译程序

热门文章

  1. windows上使用的免费连接linux终端xshell6,xftp6下载
  2. Gauss error function
  3. ubuntu安装扩展在phpinfo显示不出来的解决办法
  4. 【聊一聊】css中的经典布局——圣杯布局
  5. 大数问题(高精度运算)
  6. UVA 11426 GCD-Extreme(II) ★ (欧拉函数)
  7. 成功使用Windows Live Writer 2010发布日志
  8. CC++动态分配内存(手动分配内存)三种方式
  9. DeleteDC() 与 ReleaseDC() 的区别 [转]
  10. c++中,可以用类名直接访问非静态成员函数?