我已经设法使用本地 IIS Web 服务器来托管我的 MVC3 应用程序,并且我可以调试它和所有内容,从托管它的机器。- 但是,当我从另一台计算机(我的 Mac,在 Parallels VM 中运行 Windows)发送请求时,我得到了预期的结果,但是调试器不会在我的断点处停止!
我尝试添加一个Debugger.Break();
按照我的操作,这会导致 w3wp.exe 崩溃..
总结一下:本地请求正在工作,并且可以调试。外部请求正在工作,但无法调试。
在我的项目属性中,我设置了Use Local IIS Webserver
, Use IIS Express
is 未经检查的.
我使用的是 Visual Studio 2012 专业版。该项目基于Azure SDK,附加进程为WaIISHost.exe。
问题是,由于我已将 IIS 服务器设置为在端口 83 上提供服务,而在本地我将在端口 81 上访问,因此调试器不会监视这些请求。
要解决此问题(或者通常是在 Cassini Web 服务器上远程调试),请下载一个名为rinetd http://www.boutell.com/rinetd/,这是一个非常简单的流量重定向器守护进程,并在将其解压到的文件夹中创建一个 config.cfg 。格式为<source ip> <source port> <dest. ip> <dest port>
。因此,在我的 Mac 上,我在 Safari 中访问以下地址: 192.168.1.23:8080/Controller/Action ,然后该地址被重定向到 localhost:81/Controller/Action ,就好像它是本地请求一样!这是示例 config.cfg:
192.168.1.23 8080 127.0.0.1 81
或者,您可以使用您的 PC 名称,以避免在 DHCP 为您提供新地址时分配静态 IP 或更改配置:
Jeff-PC 8080 127.0.0.1 81
然后,打开命令提示符,然后cd
到你的rinetd文件夹,然后运行rinetd.exe -c config.cfg
.
奇迹般有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)