对 asp.net 应用程序启动调试应如何设置(包括远程调试)
请根据你的调试类型与操作系统选择,以下步骤请勿颠倒(不行的话,从头开始设置)
ps:因本人撰写本稿时,用的是win 2003 、win2000 繁体版 + visual studio.net 2003 英文版,故抓下来的图与说明不大一样,但这些“属性”的位置是不变的
一、本地调试
a. windows 2000 操作系统
1、打开vs.net工具选项 → 项目web设置 → web服务器连接 → forntpage扩展
2、用户的群组 → 删除“ (192.168.0.1) admins”用户组”(可能不是 ip,是计算机名称,没有就不用删了)
3、右击“我的电脑” → 管理 → 服务和应用程序 → internet 信息管理服务器(iis) →右击“默认web站点”所有任务→删除服务器扩展
4、在 ms-dos 命令下运行“c:\winnt\microsoft.net\framework\v1.0.3705\aspnet_regiis.exe -i”(此处也可能是“c:\winnt\microsoft.net\framework\ v1.1.4322\aspnet_regiis.exe -i”),接着在 “c:\winnt\microsoft.net\framework\v1.0.3705\config\machine.config”文件找到“ <processmodel …… />”把“ username="machine" ”改成“username="system" ”。
5、按第 3 步,在“所有任务” → “配置服务器扩展”完成向导的过程中会提示你创建本地用户组“(192.168.0.1) admins” → 刷新“用户组”即可看到,然后添加该组成员
6、右击“internet信息报务” → 属性 → 服务器扩展 → “充许作者上载可执行程序”;
7、检查“c:\inetpub\wwwroot”文件夹(注意此处为站点所在根目录,必须是 ntfs 格式)安全属性,里面应该有“(192.168.0.1) admins”用户组,没有就自己加上,并附上相应的权力
8、运行vs.net,新建项目会有用户名和密码提示框,输入(192.168.0.1) admins 群组成员相应的账号及密码(用户密码不能为空,若该账号无密码请添加)
b. windows 2003操作系统
1、同上
2、右击“我的电脑” → 管理 → 服务和应用程序 → internet 信息管理服务器(iis) → 站点 → 右击“默认web站点” → 所有任务 → 删除 server extensions 2002 → 将打开一网页,输入 “administrator ”及密码,按步骤做完
3、在 ms-dos 命令下运行“c:\windows\microsoft.net\framework\v1.1.4322\aspnet_regiis.exe –i”
4、右击“默认web站点” → 所有任务 → 设置 server extensions 2002 → 然后点击左上角的“管理” → 改变匿名访问 → 选择“开启”、“参与者”
5、完成上述 4 个步骤,只有administrators 用户组的成员才有权限进行调试,其他用户的调试请参照“远程调试”
二、远程调试
首先,先介绍远程调试的先决条件:
1、web 服务器需要能够进行本地调试的条件
2、web 服务器需要安装 visual studio .net 远程组件, 客户端只需要“full remote debugging”一项
a. windows 2000 操作系统
1、你需要有一个 web 服务器的账号 ,该账号至少应该是”debugger users” ”webadmins”两个用户组的成员(此处我建立一个 ”cityhunter” 的账号,”web admins” 是设置本地调试时创建的)
2、在服务器上的“c:\winnt\microsoft.net\framework\v1.0.3705\config\machine.config”文件中找到“ <processmodel …… />”把“username” 设成"cityhunter", “password” 设为 "123456"。然后重启服务器(不知重启 iis 可不可以)
3、用户必须以 用户名: ”cityhunter” 密码:”123456” 的帐号登录客户端电脑.。这一点对于 服务器与客户端 在同一工作组的用户来说是关键!!原因也许是 web 服务器检测账号时,只对当前客户端电脑使用者的账户及密码,而不是检验 打开项目时用户输入的账户及密码。
b. windows 2003 操作系统
1、建立一个 ”cityhunter” 的账号,密码为 ”123456”,将其加入”debugger users “用户组
2、右击“我的电脑” → 管理 → 服务和应用程序 → internet 信息管理服务器(iis) → 站点 → 右击“默认web站点” → 新增 → server extensions 2002 管理员 → 将打开一网页,输入 “administrator ”及密码,按步骤做完,最后此账户也至少应该在二个工作组内
3、右击“我的电脑” → 管理 → 服务和应用程序 → internet 信息管理服务器(iis) → 应用程序池 → 右击“defaultapppool” → 属性 → 身份验证 → 指定为 “cityhunter”。完成后重启。
4、用户必须以 用户名: ”cityhunter” 密码:”123456” 的帐号登录客户端电脑.才能对 web 服务器的项目进行调试。
以上设定完成后,进行调试,可以 在服务器的 “任务管理器” 看到 ”w3wp.exe” (win 2000 下是 “aspnet_wp.exe”)“vs7jit.exe” 是以 “cityhunter” 身份运行的。需要注意的是公司的防火墙不能阻拦上述程序的通信。
