如何将WCF服务发布到IIS?本地发布后访问报404、403错误如何解决
WCF服务发布到IIS报错404/403的解决方法
1. 处理403.14 Forbidden错误
- 首先确认IIS的目录浏览功能是否开启:打开IIS管理器,定位到你的
GeoService站点/应用,在功能视图里找到「目录浏览」,右键选择「启用」 - 确认应用程序池配置正确:
- 应用程序池的.NET Framework版本要和你的WCF服务目标框架一致,WCF服务对应.NET Framework 4.x版本,不要选成.NET Core或者无托管代码
- 应用程序池的托管管道模式设置为「集成」
- 确认
C:\inetpub\wwwroot\GeoService路径的权限,给IIS_IUSRS用户组授予读取和执行权限
2. 处理404.0 Not Found错误(针对.svc访问)
- 首先确认WCF相关的IIS功能已经启用:打开「控制面板-程序-启用或关闭Windows功能」,找到.NET Framework 4.x Advanced Services下面的WCF服务,确保「HTTP激活」选项已经勾选,未开启该功能时IIS无法识别.svc文件的请求
- 如果你是先安装Visual Studio后安装的IIS,需要重新注册ASP.NET:以管理员身份运行cmd,执行
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i,如果是64位系统还要执行%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i - 确认发布的文件目录下确实存在
GeoService.svc文件,避免发布时遗漏服务文件
3. 访问路径校验
- 你发布到
C:\inetpub\wwwroot\GeoService,如果是在IIS默认站点下创建的虚拟目录/应用名称为GeoService,正确的访问路径是http://localhost/GeoService/GeoService.svc;如果是直接把站点根目录指向该路径,正确路径才是http://localhost/GeoService.svc,请先确认IIS内的站点路径配置和访问路径匹配
内容的提问来源于stack exchange,提问作者user8128167
相关产品推荐
相关产品推荐

