ASP.NET调试器在使用https时提供http错误
我真的非常需要你的帮助,因为我的程序遇到了非常不寻常的问题:ASP.NET调试器在使用https时提供http错误,asp.net,debugging,syntax-error,Asp.net,Debugging,Syntax Error,我真的非常需要你的帮助,因为我的程序遇到了非常不寻常的问题: 在本地IIS服务器7.5上调试ASP.NET或MVC应用程序时,我收到此错误: “无法在web服务器上启动调试。由于语法无效,服务器无法处理调试请求。” 直到今天,我在谷歌上找到了各种各样的解决方案。我花了12个小时试图弄明白这一点。没有运气 错误仅发生在以下地址:http://localhost/AspDemo上,而不发生在以下地址:https://localhost/AspDemo上。基本上,如果我使用https而不是http,
http://localhost/MVCDemo/debugattach.aspx
Status code=400 (Bad Request)
Protocol version=1.1
Cached=False
Connection=close
Content-Length=326
Content-Type=text/html; charset=us-ascii
Date=Fri, 31 Oct 2014 03:44:14 GMT
Server=Microsoft-HTTPAPI/2.0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Verb</h2>
<hr><p>HTTP Error 400. The request verb is invalid.</p>
</BODY></HTML>
http://localhost/MVCDemo/debugattach.aspx
状态代码=400(错误请求)
协议版本=1.1
Cached=False
连接=关闭
内容长度=326
内容类型=文本/html;字符集=美国ascii码
日期=2014年10月31日星期五03:44:14 GMT
服务器=Microsoft HTTPAPI/2.0
错误的请求
错误的请求-无效的动词
HTTP错误400。请求谓词无效
在进程监视器中,我也找到了这个:
<event>
<ProcessIndex>1339</ProcessIndex>
<Time_of_Day>04:40:33,3661553</Time_of_Day>
<Process_Name>devenv.exe</Process_Name>
<PID>10768</PID>
<Operation>CreateFile</Operation>
<Path>C:\Users\<UserName>\AppData\Roaming\Microsoft\VisualStudio\12.0\Debugger\StepIntoFilterData.ini</Path>
<Result>PATH NOT FOUND</Result>
<Detail>Desired Access: Read Data/List Directory, Read Attributes, Synchronize, Disposition: Open, Options: Sequential Access, Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Delete, AllocationSize: n/a</Detail>
</event>
1339
04:40:33,3661553
devenv.exe
10768
创建文件
C:\Users\\AppData\Roaming\Microsoft\VisualStudio\12.0\Debugger\StepIntoFilterData.ini
找不到路径
所需访问:读取数据/列表目录、读取属性、同步、处置:打开、选项:顺序访问、同步IO非警报、非目录文件、属性:n/a、共享模式:读取、删除、分配大小:n/a
我真的,真的需要帮助
===/edit 3===
第二个错误与此无关,我只是检查了一下,它也存在于https中(C:\Users\\AppData\Roaming\Microsoft\VisualStudio\12.0\Debugger\StepinotofilterData.in),并且作为https localhost进行调试可以完美地工作
===/edit 4===
以下是Visual Studio调试HTTP(不工作)和HTTPS(工作)期间捕获的进程监视器日志
(在随机MVC教程上执行的测试)
使用CTRL+F并在日志中查找“VisualStudioWebDebugger.log”,以了解何时发生。在https日志中是好的,在http日志中返回前面提到的无效动词错误
- HTTP(不工作)::
- HTTPS(工作):
(IIS上的每个解决方案都会发生这种情况,新的解决方案也会受到影响,所有这些解决方案都在工作,而且其中一些解决方案在工作时甚至没有更改,IIS配置也没有更改)我在这里的任何描述中都没有看到动词的名称,但我猜VS debugger使用了一个特殊的动词(调试)而不是标准的GET、HEAD、POST等。如果在VS之后重新安装IIS,ISAPI映射可能会被取消。这可能会解决问题:
尝试以管理员身份运行Visual Studio。感谢您的回复,我始终以管理员身份运行,甚至尝试以系统身份运行,您是否阅读了我提到的错误,他们是否给了您任何线索?我很好奇这是从何而来的:
C:\Users\\AppData\…
如果该值是从某个应该被读取的地方读取的XML,这肯定是无效的语法。你能对
进行完整的项目文本搜索,看看是否在任何文件中产生任何结果吗?特别是在解决方案、项目、配置文件中。我通过Process Monitor进行了检查,当我使用https而不是http时,同一个文件被报告为丢失,但一切都正常工作,所以情况并非如此,因为我认为我将很快发布整个报告。我想再次提到,当使用浏览选项从IIS服务器手动启动应用程序时,这两个协议都有效。您是否以管理员身份运行Fiddler?