我有一个基于Azure的多站点Web应用程序。一个站点包含网页(通过jQuery,Raphaël和HTML驱动的视图功能)和瘦WCF服务。第二个站点包含一个功能更强大的WCF服务,该服务又调用调用数据库的数据对象。几年前我们在网站上停止了开发,但对于仍然喜欢使用它的少数人来说,它仍然存在。
昨天我不得不修复某人在网站上报告的跨网站脚本漏洞。
我很惊讶地发现,在将它们部署到Azure之前,我无法再在Visual Studio下运行本地计算机上的站点来测试和调试任何更改。
由于两个WCF站点之间的交互,我按照以下方式设置了本地调试:
在Internet Information Services Manager工具(InetMgr)中,我添加了其他网站,其物理路径设置为我机器上TFS本地路径中源代码的位置。
我在网站的绑定中编辑主机名以模仿Azure位置,即Azure上的主站点是projname.cloudapp.net:80,本地IIS中的projnamelocal.cloudapp.net:80和数据WCF站点在Azure上是projname-wcf.cloudapp.net:8080,在我的本地IIS中是projname-wcflocal.cloudapp.net:8080。 (N.B.主站点也有HTTPS绑定。)
我修改C:\Windows\System32\drivers\etc\hosts
以包含行
127.0.0.1 projnamelocal.cloudapp.net
127.0.0.1 projname-wcflocal.cloudapp.net
在Visual Studio中,我编辑主站点项目的Web属性,以便它使用本地IIS和项目URL http://projname.cloudapp.net/,并且我有一个开关(在代码中说是否要调用本地WCF或实时Azure。
在过去,当项目处于活跃开发阶段时,此设置适用于本地测试和调试。昨天它失败了,一台机器http://projnamelocal.cloudapp.net/在另一台404上发出503错误。(注意我可以从命令行ping每个URL,以便主机重定向工作。)Visual Studio抱怨它“无法启动在Web服务器上调试“并且它”无法启动ASP.NET调试“。
我尝试了all the suggestions和一些:
我应该如何在Visual Studio下的IIS中设置这种运行,测试和调试本地站点的方式?
答案 0 :(得分:0)
知道了。
我忘了去控制面板>节目>打开或关闭Windows功能> .Net Framework 4.5高级服务> WCF服务> HTTP激活
现在我已经安装了本地站点启动