此时,当我从Visual Studio运行WCF服务时,我有一个WCF服务使用Cassini/IIS Express和.NET客户端工作,但是当我尝试将其直接发布到IIS时遇到困难。 由于某种原因,我无法连接到 WCF 服务。 我一直在研究如何通过查看这些Microsoft在线文档来发布:
https://learn.microsoft.com/en-us/dotnet/framework/wcf/wcf-service-publishing
现在我只是尝试在本地发布它,我选择将其发布到File System
进行C:inetpubwwwrootGeoService
但是当我尝试浏览到服务器时,我只收到以下错误:
顺便说一句,我尝试浏览这些网站:
http://localhost/GeoService.svc
http://localhost/GeoService/
http://localhost/GeoService/GeoService.svc
我收到错误的地方,例如:
HTTP Error 404.0 - Not Found
HTTP Error 403.14 - Forbidden
请注意,完整的源代码在这里:
https://github.com/john1726/WcfEndToEnd.git
我错过了什么? 有人有什么建议吗? 蒂亚。
请注意,我尝试执行Microsoft在线文档中的步骤,但最终不得不通过转到Programs and Features
-> 打开Windows Features on or off
并选择 .NET Framework4.8 Advanced Services
来更新服务器,其中我启用了所有选项,因为不再支持aspnet_regiis.exe -ir
和ServiceModelReg.exe -ia
命令:
- ASP.NET 4.8
- 周转基金服务
对于 WCF 服务,我打开了:
HTTP Activation
MSMQ Activation
Named Pipe Activation
TCP Activation
TCP Port Sharing
我也打开了Windows Process Activation Service
:
.NET Environment
此外,我必须通过转到IIS Manager
并导航到MyServer
->Sites
->My Site
并单击Directory Browsing
并选择Enable
来打开Directory Browsing
。
我所做的另一个步骤是通过打开或关闭功能来启用 IIS 6 元数据库,我转到Internet Information Services
->Web Management Tools
->IIS Metabase and IIS 6 configuration compatibility
请参阅错误 - 无法访问 IIS 元数据库
因此,我最终使用的URL是:
http://localhost/GeoService/GeoService.svc