Web应用程序迁移后,WCF服务无法在IIS中工作

时间:2018-12-26 10:21:33

标签: asp.net wcf iis-8

我将承载WCF服务的Web应用程序从Windows 10迁移到Windows Server2012。我按照以下步骤操作:

  • 将Web应用程序文件所在的文件夹复制到新计算机上。
  • 安装了所有ASP.NET和WCF功能。
  • 针对包含该应用程序文件的文件夹创建了一个新应用程序。

当我尝试运行该服务时,我会得到

HTTP 404 Error, The Resource cannot be found.

当我仅将svc文件作为目标时

Metadata publishing for this service is currently disabled.

在原始计算机中单击相同的URL时,我没有收到此消息。取而代之的是,我看到常规屏幕,告诉我已经创建了服务。

在浏览器中点击根文件夹时,在原始计算机中,我会出现白屏,但是在新计算机中,我会得到

A default document is not configured for the requested URL, and directory browsing is not enabled on the server.

据我所知,两台机器上的所有配置参数都相同。

我想添加一个可能有帮助的细节。当我在原始计算机上重新启动站点时,第一次请求该服务时,我需要等待几秒钟,以便该站点进行编译和运行。在新机器上,这似乎没有发生。可能根本没有加载背后的代码。

3 个答案:

答案 0 :(得分:0)

从控制面板启用FTP服务器->程序和功能 http://www.kebabshopblues.co.uk/2013/09/20/hosting-a-wcf-service-library-project-in-iis-8-0-windows-8-0-net-4-5/

  

控制面板|程序和功能中,启用以下功能:    Internet信息服务(将自动选择一些包含的项目,但不是全部,最显着的是 FTP服务器);   “ .Net Framework 4.5高级服务”下的“ HTTP激活” |世界足球联合会   服务”(还有一个非常类似的选项“ Windows Communication   .Net Framework 3.5(包括   .NET 2.0和3.0’,如果您是   针对较早版本的.Net);

答案 1 :(得分:0)

请检查您的IIS是否已添加svc处理程序。

WCF服务无法在具有默认配置的IIS上运行,因为Web服务器不知道如何处理以.svc文件为目标的传入请求。您可以分两个步骤进行教学:

  1. 添加新的MIME类型:

Extension: .svc MIME type: application/octet-stream

enter image description here

  1. 添加新的托管HTTP处理程序:

    Request path: *.svc Type: System.ServiceModel.Activation.HttpHandler Name: svc-Integrated

enter image description here

刷新您的网站/ Web应用程序

参考文献:

http://gyorgybalassy.wordpress.com/2012/09/24/publishing-a-wcf-service-on-iis8/

http://proq.blogspot.hk/2012/09/wcf-on-iis-and-windows-8.html

http://forums.iis.net/t/1200413.aspx?+svc+missing+can+t+find+Module+to+load+within+Handler+Mapping+IIS+8+0

答案 2 :(得分:0)

可能有些支持WCF的功能尚未在IIS中启用。我已按照您的步骤部署了现有的WCF服务并成功使用了该服务。这是我在IIS中启用的功能。
enter image description here
结果。 enter image description here 随时让我知道是否有什么可以帮助您的。