我正在尝试使用现有的ASP.net Web应用程序来托管WCF服务,所以我尝试了以下步骤,
1-在Visual Studio 2010中,我通过 Web >创建了Web应用程序。 ASP.net Web应用程序模板,名为 WebApp 。
2-通过添加>添加新的WCF服务新商品...... > WCF服务,名为 MyServ 。
3-修改了MyServ.svc中的DoWork()
方法,如下所示,
这
public void DoWork()
{
}
要
public string DoWork()
{
return "hello";
}
因此我修改了IMyServ.cs以匹配新签名。
4-当我在开发服务器上运行应用程序并访问http://localhost:1399/MyServ.svc
时,该服务运行良好。
5-所以我为这个应用程序创建了一个发布,准备将它托管在IIS上。
6-在IIS中,我创建了一个名为 WebAppSite 的新网站,并获得了端口111,所以现在当我访问http://localhost:111/
时,我被指示发布的WebApp网站默认页面,这很好,并显示应用程序的aspx部分在IIS上正常工作。
7-所以我尝试访问http://localhost:111/MyServ.svc
以检查服务是否已成功部署,但我收到此消息,
HTTP错误404.3 - 未找到 由于扩展配置,无法提供您请求的页面。如果页面是脚本,请添加处理程序。如果要下载文件,请添加MIME地图。
知道问题出在哪里?
答案 0 :(得分:0)
您需要在IIS中注册.svc mime类型
运行“\%windir%\ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation \ ServiceModelReg.exe -i”
答案 1 :(得分:0)
Here是完整指南,请应用所有步骤:
如果您在IIS中进行了一些更改,则可能需要转到处理程序映射,右键单击静态文件并选择“还原为父级”。