我使用v2.0.50727框架服务开发了一个非常简单的WCF,它返回一个字符串 - 一个典型的HelloWorld()场景。但是,配置是绝对的痛苦,我真的不明白我做错了什么。注意我是使用Windows 7的计算机的管理员。
所以一步一步,这就是我在做的事情:
创建了一个指向我的WCF目录的新网站。该目录包含一个.svc,一个Web.config和一个包含.dll和.pdb的bin目录
尝试浏览网站:
配置错误 - 由于权限不足而无法读取配置文件
因此,我授予IIS_IUSRS帐户访问目录的权限。
另一个错误:
由于Web服务器上此资源的访问控制列表(ACL)配置或加密设置,您无权查看此目录或页面。
因此,我确保用户权限正在向下传播 - 它们是什么。同样的问题一次又一次出现 - 所以有时间尝试不同的事情。
我看看AppPools,他们正在使用4.0集成模式为我创建一个新的。我将其更改为DefaultAppPool
由于Web服务器上此资源的访问控制列表(ACL)配置或加密设置,您无权查看此目录或页面。
我启用了ASP.NET模拟 - 通过我的用户而不是默认的
检测到的ASP.NET设置在集成管理管道模式下不适用。
我将管道更改为Classic ASP.NET Pool
(关闭了ASP.NET安全性)
由于Web服务器上此资源的访问控制列表(ACL)配置或加密设置,您无权查看此目录或页面。
转动ASP.NET模拟
由于Web服务器上此资源的访问控制列表(ACL)配置或加密设置,您无权查看此目录或页面。
-
请有人指导我,我的错误是什么? IIS 6会立即让我进入,我正在进行大量配置只是为了加载.svc
此致
星
答案 0 :(得分:3)
您无需为.svc添加处理程序。安装.NET时会发生这种情况。
问题不在于处理程序;这是安全的。 ASPNET模仿似乎是一个红色的鲱鱼。这是一个WCF服务,对吧?也许你正在咆哮错误的树。
你说你确保权利“向下传播” - 但要检查一下。例如,当您将文件从一个目录移动到另一个目录时,该文件可以携带一个ACL,该ACL不是您在原始文件夹中创建文件时所期望的“继承”ACL。
要检查的事项:
使.svc工作的一步是获取一个简单的.htm页面。那样有用吗?一旦你得到它,然后加载一个简单的.ASPX页面,其中包含bin目录中的代码。一旦你得到它,你应该能够运行.svc,没问题。
此时您只需要执行特定于WCF的配置。