通过IIS调试ASP.NET项目

当我们使用Visual Studio调试的时候,通常我们会选择VS自带的ASP.NET Developerment Server(也是默认选项),当第一次调试的时候(按F5或Ctrl+F5不调试直接打开),Developerment Server会自动分配一个未被占用的端口号。
    
这样做在大多数情况下不会有啥问题,但Developerment
Server毕竟不是IIS,有一些操作无法达到和IIS一样的效果,譬如当我们使用某些方法获取客户端以及服务器IP的时候,使用
Developerment
Server就会出现一些混乱(又如有时候localhost无法匹配正确的域名格式)。这就造成了开发环境和使用环境不一致的情况。在这样种情况下,我们就需要使用IIS或者自定义的进程辅助调试,以确保开发环境模拟的真实性。

依靠VS设置,使用IIS替代Developerment Server的方法大致有两种,列举如下:

  1、附加进程法。
  
单击工具栏中的 Debug -> Attach to Process (调试 -> 附加到进程)在Available Processess(可用进程)中,找到IIS的进程w3wp.exe,单击"Attach(附加)"就行了。

2、设置服务器参数法。
   
打开Web启动项目属性,在左侧打开Web页,在这里可以看到开始项目的行为设置以及“Servers”(服务器)这个选项。在“Servers”中,有
一个"User Custom Web
Server"(使用自定义Web服务器)的选项,选中它,并且在下面的URL中输入IIS中当前项目的URL即可(如
http://127.0.0.1:8080/)。(在Servers中,我们同样可以修改localhost的端口号等等,这是一个很有用的选项。)

对于VS2010SP1及以上版本,在Servers中,同样有一个"Use Local IIS Web server"(使用本地IISWeb服务器)的选项,在该选项下可以通过IIS Express服务器进行程序调试,该服务器继承了VS服务开发器和IIS Web服务器的优点。

使用这个选项需要IIS6.0,如果您只安装了IIS7.0而没有安装IIS6.0兼容服务的话,使用User Custom Web Server是最佳的选择。
  
以上设置完成之后,保存并启动调试就可以在IIS中调试了。

使用附加进程法调试js时,对于普通页面中的js可以直接在js代码中加断点进行调试。异步加载的页面由于无法找到该页面,所以可以采用在要调用的js函数中加debugger的方式进行调试。

 参考文档:

ASP.NET VS2010配合 IIS 进行调试:http://www.zhixing123.cn/net/42267.html

Debug your ASP.NET Application while Hosted on IIS:http://www.codeproject.com/Articles/37182/Debug-your-ASP-NET-Application-while-Hosted-on-IIS

Debug your ASP.NET Application which is hosted on "Remote IIS Server":http://www.codeproject.com/Articles/38132/Remote-IIS-Debugging-Debug-your-ASP-NET-Applicatio

时间: 03-17

通过IIS调试ASP.NET项目的相关文章

VS中使用本地IIS调试ASP.NET项目

在有些情况下需要使用本地的IIS作为调试服务器,如支持多域名的网站,这里记录下如何使用. 1.修改本机hosts文件. 路径:C:\Windows\System32\drivers\etc 格式如下: 保存后在浏览器中输入www.hehe.com就会访问在本地的IIS中网站. 2.在本地IIS中添加网站,目录指向需要调试的项目,并为网站绑定主机名:www.hehe.com. 3.设置web项目的调试服务器,并指定URL:http://www.hehe.com,如下图所示: 现在就可以通过域名ww

远程调试 Asp.Net 项目

项目部署到产品环境后,难免会发生一些故障,有一些可以在本地测试环境中直接重现,而有一些则无法重现.对于可以在本地测试环境中重现的Bug,开发人员往往能够很迅速地进行问题排查.而对于无法重现的Bug,就没这么容易了. Visual Studio 中提供了远程调试的功能,可以帮助我们进行远程调试. 本机安装 Visual Studio(,这里用 Visual Studio 2012 进行演示) 您的 Asp.Net 项目源代码,同时确保远程服务器上使用的正是由该源码编译产生的(Debug.Relea

通过IIS调试ASP.NET程序

今天遇到一个问题,在我同事的电脑上部署了一个ASP.NET网站,而我的电脑上有一个客户端,向他的IIS下面的一个网页发送信息,想在网页中设置断点,进行远程调试, 找到了如下解决办法. 1.将IIS下建的应用程序(虚拟目录)指向你的项目所在的位置,也就是项目源文件所在的位置, 2.用VS打开你的项目 3 .从VS中找到"调试"-----"附件到进程",然后选中w3wp.exe,点击附件到进程,然后再发送数据进行调试就可以了 如果没有w3wp.exe 选项可能是你的电脑

Win10下通过IIS调试ASP程序遇到的问题和解决方案

最近维护了以前别人的写的一个ASP的系统,记录一下调试过程中的问题和解决方案. 环境篇 万维网发布服务(W3SVC)已经停止 问题: 万维网发布服务(W3SVC)已经停止.除非万维网发布服务(W3SVC)正在运行,否则无法启动网站. 解决方法: 需要先启动整个应用. IIS服务 控制面板>>程序和功能>>启动或关闭Windows功能>>IIS服务 但是这样仅仅是开启了IIS服务,会出现Http500错误,不能运行ASP程序,因为IIS服务器默认并没有帮我们配置ASP或者

VisualStudio使用本地IIS服务调试ASP.NET MVC 网站

目标:使用本地IIS服务调试ASP.NET MVC 网站 操作系统:windows 8.1企业版 IIS:系统自带IIS6.0 VisualStudio版本:2013 SP5 MVC 版本:MVC 4.5.1 =================================================================== 概要: 1.IIS 服务安装及配置 2.Visual Studio 关联IIS服务 3.局域网内访问调试中的网站 ====================

【已解决】IIS搭建 asp.net core 项目后 其他电脑访问不到资源文件

IIS搭建asp.net core 项目后,访问不到里面的资源文件(图片等),解决方法如下: 1.检查asp.net core发布文件中的资源文件是不是都放到了wwwroot名称的目录中. 2.检查asp.net core项目内Startup.cs文件中加上了app.UseStaticFiles(); 检查以上两点后 然后访问就可以找到资源了. ps 访问资源的链接中不用加 wwwroot. 原文地址:https://www.cnblogs.com/YangPeng/p/8971374.html

如何使VS2008 调试网站的根目录和IIS调试的一致?

用VS2008做asp.net网站调试时,经常会多出来一个目录,如http://localhost:1234/Foo/ , 由于一些图片的路径问题,我们不需要最后的/Foo/目录,而是像IIS调试那样,直接出现以下 的地址:http://localhost:1234/,那么怎么实现VS2008 调试网站时的根目录和IIS调试的 一致呢?步骤如下: (1) 打开已经存在的web项目. (2)使用Visual studio解决方案管理器,选中web站点项目 (3)去属性窗口(如果没有打开Visual

VS启用IIS调试的方法及可能碰到的问题。

经常有这种情况, 开发机本地正常, 但是一旦发布到服务上后, 就出现各种问题. 这是由于开发机和服务器环境不一样造成的, 所以开发时要尽可能的模拟真实性.  这时候, VS的这个功能就帮大忙了. 如何启用IIS调试      第一种: 附加进程法 1.  在IIS中建立站点直接指到程序所在文件夹(或者路径指到程序发布的文件夹):   2.  对要测试的页面设置断点,然后选择”调试”->”附加到进程”,在进程中选择w3wp.exe进程(需要先打开需测试的页面):如果找不到w3wp.exe进程,在进

asp.net 项目优化

在我们软件开发过程中,项目的优化是必不可少的部分,那么具体要怎么优化呢?今天小编就来把我的个人经验跟大家分享一下,如果有不对的地方或者说得不好的地方,还希望大家不吝赐教. 项目的优化主要分为三个部分的优化:1.程序的优化 ,程序的优化又包括(1).算法的优化  (2).页面的优化 2.IIS的优化 3.配置文件 4.数据库的优化,数据库的优化又包括(1)数据结构的优化(2)sql语句的优化 我们首先来说程序的优化: 一.程序优化 1.使用值类型的ToString方法 在连接字符串时,经常使用"+