c# - 调试本地 IIS Web 服务器上托管的 ASP.NET MVC3 应用程序

标签 c# asp.net asp.net-mvc iis azure

我已经设法使用本地 IIS Web 服务器来托管我的 MVC3 应用程序,并且我可以从托管它的计算机上调试它和所有内容。 - 但是,当我发送请求时从另一台机器(我的 Mac,在 Parallels VM 中运行 Windows),我得到了预期结果,但调试器不会在我的断点处停止!

我尝试将 Debugger.Break(); 添加到我的操作中,这导致 w3wp.exe 崩溃..

总结一下:本地请求正在工作,并且可以调试。外部请求正在工作,但无法调试。

在我的项目属性中,我设置了使用本地 IIS Webserver使用 IIS Express 处于未选中状态。

我使用的是 Visual Studio 2012 Professional。该项目基于Azure SDK,附加进程为WaIISHost.exe。

最佳答案

问题是,由于我已将 IIS 服务器设置为在端口 83 上提供服务,而在本地我将在端口 81 上访问,因此调试器不会监视这些请求。

要解决此问题(或者通常是在 Cassini Web 服务器上远程调试),请下载一个名为 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 .

就像魅力一样。

关于c# - 调试本地 IIS Web 服务器上托管的 ASP.NET MVC3 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13623450/

相关文章:

c# - 我在 C# Web API 项目中上传哪些文件?

c# - Web 部署 API - 部署 .NET 4.5 应用程序

c# - JQuery .each 函数

c# - 两个 ASP.NET Core 项目之间的依赖注入(inject)

c# - 如何从双向链表中删除节点?

c# - 如何在 ASP.NET MVC 5 Controller 中返回 http 中的字符串?

asp.net-mvc - 在 MVC 的 url 中显示 "ID"字

c# - 为什么允许我在非静态构造函数内为静态只读字段对象定义 SendCompletedEventHandler?

asp.net - jQuery 中数组长度为零

asp.net - 倒带请求正文流