gpt4 book ai didi

wcf - 使用 IIS7 和 WCF 时的问题 - 甚至无法加载 .SVC

转载 作者:行者123 更新时间:2023-12-04 06:39:00 25 4
gpt4 key购买 nike

我使用 v2.0.50727 框架服务开发了一个非常简单的 WCF,它返回一个字符串——典型的 HelloWorld() 场景。然而,配置是绝对的痛苦,我真的不明白我做错了什么。注意我是使用 Windows 7 的计算机的管理员。

所以一步一步,这就是我正在做的事情:

  • 创建了一个指向我的 WCF 目录的新网站。该目录包含一个 .svc、一个 Web.config 和一个 bin 目录,其中包含 .dll 和 .pdb
  • 尝试浏览网站:

    Config Error - Cannot read configuration file due to insufficient permissions



    因此,我授予 IIS_IUSRS 帐户访问该目录的权限。
  • 另一个错误:

    You do not have permission to view this directory or page because of the access control list (ACL) configuration or encryption settings for this resource on the Web server.



    因此,我确保用户权限正在向下传播 - 它们是。同样的问题一次又一次地出现 - 所以是时候尝试不同的东西了。
  • 我查看了 AppPools,他们使用 4.0 集成模式为我创建了一个新创建的应用程序池。我改成DefaultAppPool

    You do not have permission to view this directory or page because of the access control list (ACL) configuration or encryption settings for this resource on the Web server.

  • 我打开 ASP.NET Impersonation - 通过我的用户而不是默认

    An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.



    我将管道更改为 Classic ASP.NET Pool (关闭了 ASP.NET 安全性)

    You do not have permission to view this directory or page because of the access control list (ACL) configuration or encryption settings for this resource on the Web server.

  • 变成了 ASP.NET 模拟

    You do not have permission to view this directory or page because of the access control list (ACL) configuration or encryption settings for this resource on the Web server.


  • ——

    请有人指导我我出了什么问题吗? IIS 6 会让我立即进入,我正在做大量配置只是为了加载 .svc

    问候,

    多米尼克

    最佳答案

    您不需要为 .svc 添加处理程序。安装 .NET 时会发生这种情况。

    问题不在于处理程序;这是安全。 ASPNET 模拟似乎是一个红鲱鱼。这是针对 WCF 服务的,对吗?也许你吠错了树。

    你说你确保权利“向下传播” - 但请检查一下。例如,当您将文件从一个目录移动到另一个目录时,该文件可能携带的 ACL 不是您最初在文件夹中创建文件时所期望的“继承”ACL。

    检查事项:

  • IIS_IUSRS 必须对物理目录具有读取+执行权限
  • bin 子目录需要对 IIS_IUSRS 具有适当的权限。
  • bin 子目录中的 DLL 需要可读
  • 您可能希望为 vdir 启用“匿名”访问。
  • 您需要一个带有正确权限的 web.config 文件(但如果这是问题,您会得到不同的错误)
  • .svc 文件需要有适当的权限

  • 使 .svc 工作的一个步骤是加载一个简单的 .htm 页面。那样有用吗?一旦你得到它,然后加载一个简单的 .ASPX 页面,其中包含来自 bin 目录的代码。一旦你得到它,你应该能够让 .svc 运行,没问题。

    此时,您只需要进行 WCF 特定的配置。

    关于wcf - 使用 IIS7 和 WCF 时的问题 - 甚至无法加载 .SVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4512515/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com