我使用自定义AppPool在IIS 6上托管了WCF服务。此AppPool配置为在IIS_WPG组中的用户下运行。
我可以从远程位置访问该服务,也可以看到wsdl,但是当我尝试通过“WCF Test Client”访问同一服务时,我收到了以下错误
更新:当我通过将AppPool的身份更改为“网络服务”组来运行相同的服务时,可以通过测试客户端访问服务。 因此,只有当服务以“网络服务”以外的身份运行(用户的默认身份)时,才能访问服务元数据
答案 0 :(得分:1)
我过去遇到过这个问题,解决方案是使用客户端和托管服务的服务器之间的服务帐户进行身份验证。
答案 1 :(得分:0)
我遇到与上述问题相同的问题。以下是我在寻找此问题的解决方案时所做的事情。
我将从WCF到IIS6的部署过程开始。
创建虚拟目录后,右键单击它,然后选择“属性”。以下是每个标签的设置
虚拟目录标签
文档标签
目录安全性标签
ASP.Net标签
现在,转到计算机管理>系统工具>本地用户和群组>组
打开IIS_WPG组并添加您的服务帐户。
然后转到开始>管理工具>本地安全政策
展开安全设置>地方政策>用户权利分配。搜索以服务身份登录,然后在此处添加您的服务帐户。
最后,转到C:\ WINDOWS \ Temp文件夹。右键单击它,然后选择“属性”。单击安全选项卡,然后添加您的服务帐户
要设置特殊权限,请单击“高级”按钮。
选择您的服务帐户,然后点击修改按钮。在权限列表中,勾选或仅选中"列出文件夹/读取数据"和"删除"权限。单击确定和应用按钮以应用更改。如果系统提示您,请单击“是”以应用子文件夹。
现在,最后一刻。确保应用程序池正在运行。在浏览器中测试WCF,然后在WCF测试客户端中测试。
希望这会对你有帮助......