首先搞清楚 ASP 与 ASP.NET 的区别(.asp与.aspx).
https://msdn.microsoft.com/en-us/library/ms973813.aspx
环境配置:
http://www.cnblogs.com/qrlozte/p/5093422.html
关于IIS Express配置文件的解读上网搜一下就有结果.
Q1:
为什么.asp文件可以运行, 却无法打断点?
A:
http://www.cnblogs.com/qrlozte/p/5131391.html
Q2:
我希望调试的时候我的网站监听局域网上的请求, 而不只是 localhost
A:
首先, 参考 http://www.cnblogs.com/qrlozte/p/5093422.html 进行配置.
其次, 进入Web项目的属性页, 启动选项, 启动URL 设置为你配置的地址. 在你想调试的代码处打上断点, 浏览器浏览到相应页面, 即可成功调试
Ref:
http://blog.****.net/hyperhawk/article/details/7359093
Q3:
如何把 IIS Express设为调试时默认WEB服务器?
A:
工具 -> 选项 -> 项目和解决方案 -> Web项目 -> 选择服务器即可
Ref:
http://www.cnblogs.com/haogj/archive/2011/01/08/1930525.html
Q4:
我按照 Q2 的方法把网站配置到192.168.1.101. 并且我通过 Web 项目的属性页 -> 启动选项 -> 选择了 "使用当前页". 调试的时候 VS 默认启动到 localhost 而不是 192.168.1.101. 我想修改 "服务器" 选项, 但一直是灰色的, 不能修改. 怎么办?
A:
这是 VS2013 的一个 BUG (参考: https://connect.microsoft.com/VisualStudio/feedback/details/793989)
已经修复. 通过 工具 -> 扩展和更新. 安装更新包即可.
Ref:
https://msdn.microsoft.com/en-us/library/ms178108.aspx
https://msdn.microsoft.com/en-us/library/58wxa9w5(v=vs.120).aspx
Q5:
报错:
HTTP Error 500.19 - Internal Server Error
Detailed Error Information:
Module | WindowsAuthenticationModule |
---|---|
Notification | AuthenticateRequest |
Handler | PageHandlerFactory-Integrated-4.0 |
Error Code | 0x80070021 |
Config Error | This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false". |
Config File | \\?\E:\ASPDemo\web.config |
Config Source:
17: <anonymousAuthentication enabled="false" />
18: <windowsAuthentication enabled="false" />
19: </authentication>
More Information:
This error occurs when there is a problem reading the configuration file for the Web server or Web application. In some cases, the event logs may contain more information about what caused this error.
A:
就如错误信息描述的一样, 是 Web.config和applicationhost.config冲突.
去Web应用目录找到Web.config, 再去IIS目录\AppServer(或者C:\Users\xxx\Documents\IISExpress\config)找到applicationhost.config
可以看到, 正如提示中描述的一样
Web.config里有一行
<windowsAuthentication enabled="false" />
而applicationhost.config中的
<sectionGroup name="authentication">
包含子项
<section name="windowsAuthentication" overrideModeDefault="Deny" />
并且
<security><authentication>
包含子项
<windowsAuthentication enabled="false">
<providers>
<add value="Negotiate" />
<add value="NTLM" />
</providers>
</windowsAuthentication>
可见这两个子项的不一致(并且选项overrideModeDefault="Deny")是导致冲突的原因. 改为相同的内容或者overrideModeDefault改为"Allow"即可.
Q6: 报错
HTTP Error 401.2 - Unauthorized
You are not authorized to view this page due to invalid authentication headers.
Most likely causes:
- No authentication protocol (including anonymous) is selected in IIS.
- Only integrated authentication is enabled, and a client browser was used that does not support integrated authentication.
- Integrated authentication is enabled and the request was sent through a proxy that changed the authentication headers before they reach the Web server.
- The Web server is not configured for anonymous access and a required authorization header was not received.
- The "configuration/system.webServer/authorization" configuration section may be explicitly denying the user access.
Things you can try:
- Verify the authentication setting for the resource and then try requesting the resource using that authentication method.
- Verify that the client browser supports Integrated authentication.
- Verify that the request is not going through a proxy when Integrated authentication is used.
- Verify that the user is not explicitly denied access in the "configuration/system.webServer/authorization" configuration section.
- Check the failed request tracing logs for additional information about this error. For more information, click here.
A:
正如提示所描述的一样, Web server没有选择用户身份验证的方式.
检查applicationhost.config
<system.webServer><security><authentication>
你可以看到所有的子项enabled都设置为"false". 将其中一个子项设置为"true"即可.