Dav*_*nna 9 iis-5 visual-studio-2010 visual-studio-debugging
我正在使用VS 2010和IIS 5开发XP(SP3)机器.
我有两个版本的同一个网站.我们发布了第一个生产版本,因此我将代码分叉到一个新的目录树中,并在IIS中设置新的虚拟目录以指向新的树.这些项目设置为在IIS而不是VS的服务器上运行.主站点是基于MVC 2的项目.
我的问题是,当我在Visual Studio 2010中点击F5开始调试新版本时,我得到一个"无法在Web服务器上开始调试.Web服务器无法找到所请求的资源." 昨天我花了很多时间试图找出它找不到的资源.这发生在它到达"应用程序启动"之前.我终于想到了查看Web日志,发现无论何时我按下F5键,web日志都会显示/debugattach.aspx的DEBUG请求,返回码为404(未找到).如果我在旧版本上运行相同的序列,它会显示相同的内容,但首先使用401代码,然后使用200代码重复请求.
我的第一个想法是VS必须写出一个"debugattach.aspx"文件,然后调用它,也许它没有对目录的写权限,但据我所知,它确实如此.
我已经google了debugattach.aspx,并且返回的所有文章的前几页似乎都是指锁定和超时,主要是在IIS 7和VS 2005上.似乎没有任何东西适用于这种情况.
看看有效的旧版本和没有的旧版本之间有什么不同,唯一的事情是虚拟目录的IIS设置和代码本身的web.config.但是我已经并排浏览了两个站点,并且找不到任何可以解释这种行为的差异.
有人知道他们可以与我分享吗?或者任何人都可以向我指出有关debugattach.aspx究竟是什么/做什么,以及DEBUG HTTP请求的作用和/或VS如何使用它们的任何文档?
提前致谢.
基于此旧发布,DebugAttach.aspx由HTTP处理程序System.Web.HttpDebugHandler实现。我实际上并没有在IIS7的任何地方看到该处理程序-很有可能将此实现合并到了其他处理程序中。绝对是某种处理程序。工作正常时,您会在日志中看到200条(成功)消息。
我有2种不同的方法遇到相同的问题,其中F5调试由于遇到调试处理程序而在VS2010中失败。使用IIS Failed Request Tracing日志,我能够看到IIS模块正在干扰的实例。有一次,UrlScan.dll被阻止了DEBUG动词。在另一种情况下,从HTTP到HTTPS的重定向导致调试处理程序返回302。在两种情况下,VS都通过类似的对话框进行倒钩。
无论如何,这里的技巧似乎是弄清楚如何阻止对此URL的DEBUG请求。
| 归档时间: |
|
| 查看次数: |
3575 次 |
| 最近记录: |