繁体   English   中英

在现有ASP.Net中托管WCF服务,部署问题

[英]Hosting WCF service in an existing ASP.Net , Deployment Issue

我试图使用一个已经存在的ASP.net Web应用程序来承载WCF服务,所以我尝试了以下步骤,

1-在Visual Studio 2010中,我通过Web > ASP.net Web应用程序模板(名为WebApp)创建了Web应用程序

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映射。

知道问题出在哪里吗?

您需要在IIS中注册.svc MIME类型

运行“ \\%windir%\\ Microsoft.NET \\ Framework \\ v3.0 \\ Windows Communication Foundation \\ ServiceModelReg.exe -i”

是完整的指南,请执行所有步骤:

  1. 将“ .svc”扩展名和MIME类型作为“应用程序/八位字节流”添加到“功能”视图中的IIS Mime类型。
  2. 通过从VS 2010命令提示符运行aspnet_regiis.exe -i命令来注册Asp.net(以admin身份运行)。
  3. 右键单击cmd,以管理员身份运行,转到“ C:\\ Windows \\ Microsoft.NET \\ Framework \\ v3.0 \\ Windows Communication Foundation”文件夹并运行:ServiceModelReg.exe -i

如果您在IIS中做了一些更改,则可能需要转到处理程序映射,右键单击静态文件,然后选择“还原为父对象”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM