在IIS上抛出异常的WCF托管(没有权限和HTTP错误404.3 - 未找到)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在IIS上抛出异常的WCF托管(没有权限和HTTP错误404.3 - 未找到)相关的知识,希望对你有一定的参考价值。

例外:

由于Web服务器上此资源的访问控制列表(ACL)配置或加密设置,您无权查看此目录或页面。

我是第一次学习WCF,我试图在IIS上托管它。我是一个完全的初学者,所以我可能做过任何愚蠢的错误。

从Visual Studio运行WCF:

我能够打开WSDL文档,并能够在本地运行时进行浏览。

enter image description here

现在,当我在IIS管理器中将其添加为网站时,我得到了上述异常。

enter image description here enter image description here enter image description here

配置文件:

<?xml version="1.0"?>
<configuration>
  <system.serviceModel>
     <behaviors>
  <serviceBehaviors>
    <behavior name="mexBehavior">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true"/>
    </behavior>
  </serviceBehaviors>
</behaviors>
<services>
  <service behaviorConfiguration="mexBehavior" name="WSHttpService.WSHttpService">
    <endpoint address="WSHttpService" binding="wsHttpBinding" contract="WSHttpService.IWSHttpService" />
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost:8080" />
      </baseAddresses>
    </host>
  </service>
</services>
  </system.serviceModel>
  <system.web>
    <compilation debug="true"/>
  </system.web>
</configuration>

enter image description here

enter image description here

微软因显示完全错误的错误而闻名。请一些人帮助我,因为我可能会做一些其他愚蠢的错误。

解决方案我调查了SO Link

答案
  1. 我不得不添加两个用户IUSR and IIS_IUSRS并给予所有权限
  2. 完成上述更改后,我开始遇到另外一个异常

HTTP错误404.3 - 未找到

由于扩展配置,无法提供您请求的页面。如果页面是脚本,请添加处理程序。如果要下载文件,请添加MIME映射。详细的错误信息

解:

转到控制面板 - >打开/关闭Windows功能,然后应用以下配置。

enter image description here

另一答案

要检查的一些事情。确保您的IIS用户帐户有权查看代码所在的文件夹。

我会将绑定更改为基本http,直到您可以按预期获得IIS响应。

此外,如果您在iis中托管与iisExpress主机,则“add baseAddress =”http:// localhost:8080“”将影响IIS尝试如何为端点提供服务。

以上是关于在IIS上抛出异常的WCF托管(没有权限和HTTP错误404.3 - 未找到)的主要内容,如果未能解决你的问题,请参考以下文章

Directory.CreateDirectory 在共享主机上抛出 UnauthorizedAccessException 的可能原因

wcf在android客户端帖子上抛出错误

IIS 托管的 wcf 向我返回空白页

在wso2上抛出异常

Junit强制在方法调用上抛出异常

ASP.NET 中的 WCF 模拟异常