主要效果是本机调试网站,将网站发布到某域名(如m16758r728.iok.la),可以进入VS断点,不必再用远程调试!!!

环境

VS2015
windows 10操作系统
花生壳(可以用其他内网穿透的软件代替,本文以花生壳为例)

localhost->127.0.0.1&&本机内网IP

产生现象:VS调试发布的站点,localhost可以访问,127.0.0.1和本机内网IP不能访问
产生原因:localhost由ipv6解析,而非ipv4,cmd ping localhost即可发现

 
5

解决方案有以下几种:
(1)修改localhost的本地回环,使localhost指向127.0.0.1,而不是ipv6
(2)卸载ipv6,原理同(1)
(3)本机用IIS Express发布站点,配置网站,使之可以识别127.0.0.1和本机内网IP
(4)用本机IIS发布站点,而非IIS Express,并且将项目URL改为127.0.0.1:port(类似(3),步骤少一些)
方案(1)、(2)以修改电脑配置的方式来解决问题,(3)、(4)以修改网站配置的方式来解决问题

本文采用解决方案(3)
1、以管理员身份运行VS,启动调试
2、找到运行的IIS Express,右键“显示所有应用程序”
选中网站,下面显示了配置路径,打开配置文件进行编辑
该配置文件在.sln同目录的隐藏文件夹.vs\config下,名称为applicationhost.config

 
 

修改配置文件如下:
在sites节点下添加一个site子节点,并binding localhost、127.0.0.1、本机内网IP(cmd ipconfig),端口号任意(之后需与之一致,本文中端口号设置为8081)
修改name和id,保证不重复

 
 

3、停止VS调试,右键项目设置属性
Web-服务器一栏,修改项目URL为127.0.0.1:端口号

 
 

至此,127.0.0.1、本机内网IP可以访问IIS Express发布的站点了

内网穿透,给你的内网IP指定域名

1、下载花生壳客户端,在本机安装并登陆
2、在花生壳网页端申请一个免费的域名,点击“内网穿透”一栏,进行设置

 
 

至此,通过域名m16758r728.iok.la可以访问当前本机VS调试的程序,可以打断点调试

小贴士

1、不用花生壳做内网穿透,可以用以下方式:
https://natapp.cn/
(免费隧道的域名*.natappfree.cc 被恶意举报,被腾讯封锁,将无法用于微信开发.付费隧道的域名可以使用,且尽量绑定二级域名.)
https://www.ngrok.cc/
2、如果在localhost->127.0.0.1&&本机内网IP过程中遇到其他问题,可以参考下列解决方式:
(1)cmd 以管理员身份运行
netsh http add urlacl url=http://127.0.0.1:你的端口号/ user=everyone
netsh http add urlacl url=http://本机内网IP:你的端口号/ user=everyone
(2)关闭防火墙
(3)右击入站规则->新建规则->端口->特定本地端口处输入8080->允许连接->3个选项全选->输入新规则名称->完成
3、这个问题的结论就是“你要访问你的网站,就去找你网站所在的web服务器的ip和端口”

VS发布到IIS Express外网Debug(如微信开发)的更多相关文章

  1. VS发布IIS Express,允许外网调式(如微信开发)

    环境 VS2015 IIS Express win10操作系统 natapp内网穿透 localhost && 127.0.0.1 && 本机内网IP 产生现象:VS调 ...

  2. C# VS启动调试项目允许外网调试(微信开发)

    转发链接:https://blog.csdn.net/sinat_23050697/article/details/62889693 主要效果是本机调试网站,将网站发布到某域名(如m16758r728 ...

  3. windows azure中国 里面建立一个虚拟机,与虚拟机建立通信 里面部署IIS,外网访问

    在windows azure中国 里面建立一个虚拟机,里面部署IIS,外网不能访问么? 外网访问的地址是给的那个DNS地址 ,比如我的是 DNS 名称 urbanairserver.cloudapp. ...

  4. 内网穿透+VS2015自带IIS express实现本地调试(微信等需要将开发环境暴漏到外网的情况使用)

    今天一个兼职结束了,又要开始寻找新的兼职公司了 ,为了贴补家用啊,为了给儿子更好的生活加油! 抒情完毕进入正题,本篇文章要解决的问题是其实在开发微信支付,微信公众号等回调地址必须是外网可访问的80端口 ...

  5. 修改tomcat编码格式 & tomcat发布WEB项目供外网访问

    1.修改tomcat默认编码格式: 修改tomcat下的conf/server.xml文件,找到如下代码:       <Connector port="8080" prot ...

  6. 如何使用花生壳 发布WCF服务 进行外网访问

    当我们发布WCF服务的时候,可以直接通过服务器的域名或者IP进行. 但是如果仅仅是通过花生壳进行域名解析,需要我们自己在设置的时候注意以下几点, 直接用图说明问题 1.首先配置花生壳,在红色处填写一个 ...

  7. 如何使用花生壳 发布WCF服务 进行外网访问 z

    http://www.cnblogs.com/wanglg/p/5375230.html 当我们发布WCF服务的时候,可以直接通过服务器的域名或者IP进行. 但是如果仅仅是通过花生壳进行域名解析,需要 ...

  8. 本地Server发布外网Web应用(Oray实现)

    主要讲解如何将本地当做服务器,发布Web应用至外网访问.   准备条件: 1.web应用服务(此处为Tomcat作为web应用服务器): 2.花生壳应用:   第一步,正常搭建本地web项目,应用名为 ...

  9. VS2013无法启动 IIS Express Web解决办法

    开发环境:windows8.1+VS2013 使用VS2013有一段时间了,因前期都是编写C/S程序,没有使用到B/S调试器.前几日,创建了一个MVC项目,突然发现VS2013无法调试,报了这样的错. ...

随机推荐

  1. Android多线程研究(3)——线程同步和互斥及死锁

    为什么会有线程同步的概念呢?为什么要同步?什么是线程同步?先看一段代码: package com.maso.test; public class ThreadTest2 implements Runn ...

  2. JQuery中Ajax详细参数使用案例

    JQuery中Ajax详细参数使用案例 参考文档:http://www.jb51.net/shouce/jquery1.82/ 参考文档:http://jquery.cuishifeng.cn/jQu ...

  3. POJ2112 Optimal Milking 【最大流+二分】

    Optimal Milking Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 12482   Accepted: 4508 ...

  4. Django项目开发实例之我的博客

    1.开发环境 2.创建virtualenv 3.安装相关包 Django Pillow 4.创建项目 添加应用: 5.设置静态文件和模板 6.运行测试 参考(http://www.cnblogs.co ...

  5. Windows 查看硬盘ID(diskpart命令)

    使用diskpart命令Win+R键运行cmd,进入命令行界面:1.diskpart2.list disk 查看有几块硬盘3.select disk 0 选择第一块硬盘4.detail disk 显示 ...

  6. 基于 Android NDK 的学习之旅-----Java 调用C

    随便谈谈为什么要Java调用C 吧: 我认为: 1.  有些公司开发Android项目的时候, 许多组件功能可能是C中已经实现了,所以我们没必要同样的功能又在java中实现一遍.例如我之前做的一个项目 ...

  7. BZOJ 2096 Pilots - 单调队列STL(deque)

    传送门 分析: 单调队列:维护两个递增.递减的队列,每次都加入新元素并更新,如果最大值(递减队首)-最小值(递增队首) > k,那么将最左段更新为前面两者中较前的那一个,并弹掉.用deque可以 ...

  8. Git 常用命令总结(精问)

    Git 常用命令总结(精问) 一.总结 一句话总结:下次尝试做任何git的操作之前,把这个精看精问一遍,绝对会有意向不到的收获. 二.Git 常用命令总结 1.git常用命令 安装及配置: Ubunt ...

  9. 每天一个JavaScript实例-检測表单数据

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  10. 检索 04 --Stack栈 Queue队列 Hashtable哈希表

    //Stack 先进后出 没有索引 Stack st = new Stack(); st.Push(12); st.Push(11); st.Push(22); st.Push(34); st.Pus ...