使用IIS配合VS调试
当我们使用Visual Studio调试(Debug)的时候,通常我们会选择VS自带的ASP.NET Developerment Server(也是默认选项),当第一次调试的时候(按F5或Ctrl+F5不调试直接打开),Developerment Server会自动分配一个未被占用的端口号,于是就有了类似这样的地址http://localhost:2131/。
这样做在大多数情况下不会有啥问题,但Developerment Server毕竟不是IIS,有一些操作无法达到和IIS一样的效果,譬如当我们使用某些方法获取客户端以及服务器IP的时候,使用Developerment Server就会出现一些混乱(又如有时候localhost无法匹配正确的域名格式)。这就造成了开发环境和使用环境不一致的情况。
在这样种情况下,我们就需要使用IIS或者自定义的进程辅助调试,以确保开发环境模拟的真实性。
依靠VS设置,使用IIS替代Developerment Server的方法大致有两种,列举如下(以VS2008英文版为例):
1、附加进程法。
单击工具栏中的 Debug -> Attach to Process (调试 -> 附加到进程)
在Available Processess(可用进程)中,找到IIS的进程w3wp.exe,单击"Attach(附加)"就行了。
2、设置服务器参数法。
打开Web启动项目属性,在左侧打开Web页,在这里可以看到开始项目的行为设置以及“Servers”(服务器)这个选项。在“Servers”中,有一个"User Custom Web Server"(用户自定义服务器)的选项,选中它,并且在下面的URL中输入IIS中当前项目的URL即可(如http://127.0.0.1:8080/)。(在Servers中,我们同样可以修改localhost的端口号等等,这是一个很有用的选项。)
在Servers中,同样有一个"Use Local IIS Web server"的选项,使用这个选项需要IIS6.0,如果您只安装了IIS7.0而没有安装IIS6.0兼容服务的话,使用User Custom Web Server是最佳的选择。
以上设置完成之后,保存并启动调试就可以在IIS中调试了。
一般情况下,并不推荐随意使用这种方法,除非已经明确了这么做的目的。经本人充分实践,发现这两种方法都存在着一定的缺陷,比如“附加进程”的做法,当使用到多线程或者异步请求的时候,很可能造成跟踪丢失的情况(不会命中断点)。因此使用之前要先明确这么做的目的和可行性。
使用IIS配合VS调试的更多相关文章
- VisualStudio 2015 开启IIS Express可以调试X64项目
现在项目开发时总有时需要在X64下开发,这样我们就需要IIS Express中调试.不要总是放在IIS中,在Attach这样好慢. 如果不设置直接调试X64的程序,我们有可能会受到以下类似的错误 ...
- 在IIS Express中调试时无法读取配置文件 错误
在IIS Express中调试代码时,如果出现"无法读取配置文件"的问题(如图),这种情况是IIS Express的"applicationhost.config&quo ...
- 在IIS Express中调试时无法读取配置文件
在IIS Express中调试代码时,如果出现“无法读取配置文件”的问题(如图),这种情况是IIS Express的“applicationhost.config”配置文件中的映射关系出了问题[ps: ...
- 开启IIS Express可以调试X64项目
//来源:https://blog.csdn.net/ma_jiang/article/details/52679431 现在项目开发时总有时需要在X64下开发,这样我们就需要IIS Express中 ...
- 修改host文件实现自定义域名和iis站点本地调试
修改host文件实现自定义域名和iis站点本地调试 自定义域名:myhost.com windows版本:win7 iis版本:iis7.x vs版本:vs2010 现在开始动手设置了: 一.修改ho ...
- [日常] windows下使用vscode配合xebug调试php脚本
windows下使用vscode配合xebug调试php脚本 要下载有php_xebug.dll扩展的版本,最新版可能没有这个扩展,php7.3应该是有的,php7.3.4好像没有默认是不加载这个扩展 ...
- NETBEANS + XDEBUG + IIS PHP 代码 调试 DEBUG
参考: http://domainwebcenter.com/?p=936 http://www.sitepoint.com/debugging-and-profiling-php-with-xdeb ...
- vs中附加IIS进程的调试方法
项目运行以管理员的身份进行运行否则附加不进去:
- visual studio 2013 使用IIS Express附加调试MVC5
1.如何找到调试的站点的进程[由于图片无法上传,就不上传图片了] 2.vs运行的时候,在状态栏会存在一个IIS Express 进程,点击显示所有的应用程序,找到想要调试的程序的PID; 3.附加调试 ...
随机推荐
- 九度OJ 1514 数值的整数次方【算法】
题目地址:http://ac.jobdu.com/problem.php?pid=1514 题目描述: 给定一个double类型的浮点数base和int类型的整数exponent.求base的expo ...
- C++对象创建与释放
创建对象有以下四种形式: #include <iostream> using namespace std; class A{ private: int i; public: A(){ co ...
- (用微信扫的静态链接二维码)微信native支付模式官方提供的demo文件中的几个bug修正
native支付模式一demo(用微信扫的静态链接二维码)BUG修复,一共4个BUG 1.native_call_qrcode.php这个文件中的代码无法生存native支付的短地址2.WxPayPu ...
- Linux是一门真正的黑客高手艺术
黑客这个词从诞生到现在,从来就没有解释为“高级入侵者”.“病毒制造者”或者“QQ盗号者”过.我至今不清楚在中国是谁先把黑客和这些无聊的词汇联系在了一起,导致如此多的人被误导.但有一点是肯定的,不负责任 ...
- nuget的使用总结
使用NuGet发布自己的类库包(Library Package) from:http://blog.csdn.net/gulijiang2008/article/details/41724927 使用 ...
- 调试NodeJS应用
OS:Windows 1.下载安装NodeJS 点击http://nodejs.org/界面上“Install”,下载后运行安装,默认安装到到C:\Program Files\nodejs.安装后确认 ...
- WebService 学习过程
//------------------------------------------------------------------------------------------ //windo ...
- Razor语法小记
1.代码块中,<text>标签用来输出,如: @{ <text>sdfsdf</text> } 输出Html: sdfsdf
- T[]与List<T>的使用时机
所有的数组类型都隐式地从System.Array这个抽象类派生,而System.Array又派生自System.Object.也就是说数组是引用类型.通过如下方式创建数组: int[] arrInt ...
- 在使用Fake framework的时候,为什么有一些函数没有生产mock呢?
在使用Visual studio 2012 的Fake framework 做单元测试的时候,你会发现有一些函数没有生产Stub 或者 Shim的版本,这可能是由于Fake的一些限制导致的,但如何知道 ...