在实际的开发当中, 相信很多的开发者在开发调试 ASP.NET 网站时候都是直接通过 Visual Studio 工具的编译运行来调试的.
一般情况下, 这种调试方式也不会有多少问题, 但有时候我们会发现这样的一个情况, 就是明明在本地调试运行都没有问题的网站, 部署到服务器 IIS 上, 就出现无法描述的线上问题. 这时候, 就要排除服务器环境是否跟本地环境一样, 其中一点还要涉及到 IIS 的配置的排除.
那问题来了, 我们能不能在开发的时候, 就部署在 IIS 上调试, 而不是直接使用 Visual Studio 的运行调试, 这样涉及到 IIS 配置的相关问题就能及早的暴露出来, 比如 IIS 用户的权限调用等. 举个很典型的例子, 如我们调用微软的 Office Excel 组件导出 Excel 的时候, 就需要设置 IIS 用户组对 Com 组件的调用权限.
在开发阶段就通过 IIS 对网站进行调试, 可以避开很多因为 IIS 设置问题而导致的问题.
下面来说下配置 IIS 调试的步骤.
第一步 打开你的 IIS 管理器, 没有安装 IIS 服务器的请上网百度如何安装, 此处不再阐述. 在 IIS 中新建一个网站, 给定一个主机域名为 test.com, 并将网站目录指向你 web 项目的根目录, 如下图.
第二步 网站配置的应用程序池很关键, 上图中的应用程序池的名字叫 testWeb, 那这个应用程序池的. NetFrameWork 的版本号应该跟你项目中使用的版本一致. 我们点击上图左侧的菜单 [应用程序池] , 打开应用程序池列表, 选中 testWeb 名称的应用程序池, 确认编辑好该程序池的版本号. 如下图
第三步 确保你的 IIS 的状态为正在运行而非停止的状态, 并且确认你网站的状态以及网站对应应用程序池的状态为正在运行.
第四步 设置本地电脑的 Host 文件, 配置本地域名 test.com. 让浏览器识别 test.com 域名的指向是本地计算机.(此步骤非常关键, 不然你在浏览器中输入 test.com 会告知你无法解析)
我们在电脑的 C 盘中查找系统的 Host 文件, Host 文件一般在以下路径中: C:\Windows\System32\drivers\etc.
找到 Host 文件后, 用文本编辑器打开 host 文件, 推荐使用 notepad++ 文本编辑器. 打开后, 我们在最后一行加入 127.0.0.1 test.com 即可, 配置完成后保存 (Win10 系统可能无法编辑保存, 我们一般采取复制文件出来, 编辑完成后覆盖回原文件), 在浏览器中输入 test.com 即可指向本地 IIS 中的网站, 即你刚才配置的网站.
第五步 此时配置完毕后, 我们在自己本地电脑的浏览器中输入 test.com 的时候, 就会指向你本地 IIS 配置的 test.com 网站中, 即你当前开发的网站.
第六步 如果 test.com 网站测试中发现相应的问题, 我们就可以通过附加 IIS 进程的方式对网站进行调试. 当然调试的方式与之前不同了, 此时就不是直接点击 Visual Studio 中的调试按钮或者 F5 进行调试了. 我们可以通过下面的方式进入调试模式, 选择菜单栏上的调试, 打开子菜单选中附加到进程, 如下图 (当然可以通过快捷键 Ctrl+Alt+P 直接调取出附加界面)
打开后的附加界面如下图, 我们找到 w3wp.exe 进程, 然后点击附加按钮即可.
附加完成后, 你就可在代码中加入相应的断点调试了, 在前台浏览器中输入 test.com 访问出现的错误, 你可在 Visual Studio 中找到对应代码段加入断点.
通过上述步骤, 即可很好的进行网站的调试, IIS 相应的配置问题也能及早发现.
来源: https://www.cnblogs.com/xu-yi/p/10041844.html