我真的非常需要你的帮助,因为我的程序遇到了非常不寻常的问题:
我在尝试在本地IIS Server 7.5上调试ASP.NET或MVC应用程序时收到此错误: "无法在Web服务器上启动调试。由于语法无效,服务器无法处理调试请求。 "
我直截了当地尝试了谷歌中可以找到的所有解决方案。我花了12个小时试图解决这个问题。没有运气。
只有这个地址出现错误:http:// localhost / AspDemo不是这个:https:// localhost / AspDemo。基本上,如果我把https而不是http。
我的本地IIS服务器上禁用了https :),我的意思是将其设置为忽略。
此外,我可以在IIS控制面板中使用BOTH协议打开我的网站
如果我在Visual Studio的属性中禁用ASP.NET调试器,则应用程序运行正常。
这是来自httperr日志的错误:
2014-10-30 00:23:46 :: 1%0 2977 :: 1%0 80 - - - 400 - 动词 -
我不确定究竟在哪里,但在其他日志中,我看到了类似这样的内容:错误400"错误请求 - 无效动词"
一周前,我遇到问题的所有应用程序都与visual studio的asp.net调试器完美配合,我不知道发生了什么。
我怀疑有些更新。因为最近的更新也与我的自定义引导程序混乱。
启用跟踪时 - 使用http
Fiddler日志也是空的,也许我可以在Fiddler中使用一些配置来生成更多日志? (当我使用https时,它使用修改后的machine.config记录)
永远感谢你的帮助,如果你需要更多的日志,请不要犹豫不决。
我还想提一下,是的,我在这个网站上看过类似的帖子,但没有一个描述与我类似的问题。
/编辑
从我能够观察到的,错误发生在调试器访问machine.config文件之前,你能告诉我如何在那一刻捕获错误吗?
==== / edit 2 ====
任何?没有人知道答案吗? 最近我能够在以下位置找到完整的错误消息:C:\ Users \\ AppData \ Local \ Temp \ Visual Studio Web Debugger.log
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>
在proccess monitor中,我也找到了这个:
<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>
我真的非常需要帮助。
=== / edit 3 ===
第二个错误无关紧要,我刚刚检查过,它也存在于https(C:\ Users \\ AppData \ Roaming \ Microsoft \ VisualStudio \ 12.0 \ Debugger \ StepIntoFilterData.in),调试为https localhost工作原理完美。
=== / edit 4 ===
以下是在Visual Studio调试HTTP(不工作)和HTTPS(工作)
期间捕获的Process Monitor日志(对随机MVC教程进行测试)
使用CTRL + F并查找&#34; Visual Studio Web Debugger.log&#34;在日志中了解它何时发生。在https日志中是好的,在http日志中返回之前提到的无效动词错误。
我可能错了,但我认为这里的关键是只有HTTP不起作用,只能使用VS Debugger,其他一切都很好(没有调试的HTTP和HTTPS以及调试的HTTPS)。
(它发生在IIS上的每个解决方案中,新的解决方案也会受到影响,所有这些解决方案都有效,而且其中一些解决方案从他们工作时起甚至没有改变,IIS配置没有改变为孔)
答案 0 :(得分:0)
我没有在这里的任何描述中看到动词的名称,但我的猜测是VS调试器使用特殊动词(DEBUG)而不是标准的GET,HEAD,POST等。如果重新安装IIS在VS之后,ISAPI映射可能已经被破坏了。这可以解决问题:
https://msdn.microsoft.com/en-us/library/ms165022%28v=vs.90%29.aspx