0

我有一个基于 Azure 的多站点 Web 应用程序。一个站点包含网页(具有通过 jQuery、Raphaël 和 HTML 驱动的视图功能)和瘦 WCF 服务。第二个站点包含一个功能更强大的 WCF 服务,它依次调用调用数据库的数据对象。几年前我们停止了该网站的开发,但它仍然为少数仍然喜欢使用它的人提供服务。

昨天我不得不修复有人在网站上报告的跨站点脚本漏洞。

我惊恐地发现,在将它们部署到 Azure 之前,我无法再在我的本地计算机上在 Visual Studio 下运行这些站点来测试和调试任何更改。

由于两个 WCF 站点之间的交互,我将本地调试设置如下:

  1. 在 Internet 信息服务管理器工具 (InetMgr) 中,我添加了其他网站,它们的物理路径设置为我机器上 TFS 本地路径中源代码的位置。

  2. 我在站点绑定中编辑主机名以模仿 Azure 位置,即主站点是 Azure 上的 projname.cloudapp.net:80 和我本地 IIS 中的 projnamelocal.cloudapp.net:80,数据 WCF 站点是 projname-wcf Azure 上的 .cloudapp.net:8080 和我本地 IIS 上的 projname-wcflocal.cloudapp.net:8080 。(注意主站点也有 HTTPS 绑定。)

  3. 我编辑C:\Windows\System32\drivers\etc\hosts以包含这些行

    127.0.0.1 projnamelocal.cloudapp.net

    127.0.0.1 projname-wcflocal.cloudapp.net

  4. 在 Visual Studio 中,我编辑主站点项目的 Web 属性,以便它使用本地 IIS 和项目 URL http://projname.cloudapp.net/并且我有一个开关(在代码中说明是否调用本地 WCF或现场 Azure 之一。

过去,当项目处于积极开发阶段时,这种设置对于本地测试和调试工作得很好。昨天它失败了,一台机器http://projnamelocal.cloudapp.net/在另一台机器上给出了 503 错误 404。(注意,我可以从命令行 ping 每个 URL,以便主机重定向正常工作。)Visual Studio 抱怨它是“无法在 Web 服务器上开始调试”并且它“无法启动 ASP.NET 调试”。

我已经尝试了所有的建议和一些:

  • 无需调试即可运行
  • 以管理员身份运行 Visual Studio(我已经)
  • 重新注册 ASP
  • 更改应用程序池
  • 授予每个人对代码目录的完全权限
  • 以我自己的域帐户运行,该帐户是本地计算机上的管理员
  • 将 IE 更改为不自动检测代理
  • 将站点添加到 IE 的受信任站点列表中
  • 关闭 IE 的保护模式
  • 重新启动 Visual Studio
  • 重新启动电脑
  • 再次重启电脑

我应该如何设置这种在 Visual Studio 下的 IIS 中运行、测试和调试本地站点的方式?

4

1 回答 1

0

知道了。

我忘记转到控制面板 > 程序 > 打开或关闭 Windows 功能 > .Net Framework 4.5 高级服务 > WCF 服务 > HTTP 激活

现在我已经安装了本地站点启动

于 2014-05-22T16:32:14.637 回答