【问题标题】:WCF IIS Error 403WCF IIS 错误 403
【发布时间】:2013-12-10 20:30:17
【问题描述】:

我正在阅读 WCF 4.0 Multi-tier Services Development 一书,并尝试使用 IIS 使用 WCF 实现一个简单的 Hello World。

我有一个 HelloWorldService 项目和一个 HostDevServer 项目(启动项目)。我应该看到一个目录监听了两个文件,但我收到了下一条错误消息:

HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.

最可能的原因:

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

我做了什么:

  • 在 IIS 管理器中启用目录浏览
  • 检查我是否有默认文档,它们存在。
  • 运行命令:appcmd set config /section:system.webServer/directoryBrowse /enabled:true

在 IIS 的关于屏幕上显示版本 7.5,在浏览器中显示“IIS 8.0 详细错误...”。我不知道这是否与问题有关。

我使用 Visual Studio 2013 进行开发。 Web.config 如下:

<system.web>
  <compilation debug="true" targetFramework="4.5" />
  <httpRuntime targetFramework="4.5" />
</system.web>

有人知道如何解决这个问题吗?

【问题讨论】:

  • 你能发布一个 web.config 吗?
  • 用 web.config 更新了帖子。
  • 我通常怀疑您的服务所在文件夹的权限。确保 IUSR 和/或(我不记得是哪个)IIS_IUSRS 对您硬盘上的 Web 服务文件夹具有读取权限。或者,如果您的 appPool 在不同的凭据集上运行,则对这个用户帐户执行相同操作。

标签: asp.net wcf iis


【解决方案1】:

我怀疑您尝试托管 WCF,因为它是使用自托管的 - 在 extensionless uri 下。

这行不通。 WCF 服务托管在*.svc 激活器下。扩展通知 IIS 它应该找到合适的主机工厂并创建服务。

【讨论】:

  • 感谢您的回答。如何解决我的问题并让 Hello World 示例正常运行?
  • 您需要添加无扩展名 uri 或添加 .svc 文件并直接引用它。在此页面上搜索“无文件激活”:msdn.microsoft.com/en-us/library/ee354381.aspx
【解决方案2】:

我将网站添加到 IIS 管理器,现在它可以工作了。我确实需要编辑访问文件的权限,但现在我可以毫无问题地访问该页面。

应该在书中进一步阅读,因为他们稍后还会解释 *.svc 激活器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-18
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 2013-10-29
    相关资源
    最近更新 更多