Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与IIS WPG组中的用户托管的WCF服务?_Wcf_Wcftestclient - Fatal编程技术网

与IIS WPG组中的用户托管的WCF服务?

与IIS WPG组中的用户托管的WCF服务?,wcf,wcftestclient,Wcf,Wcftestclient,我使用自定义应用池在IIS 6上托管了WCF服务。此应用池配置为在IIS_WPG组中的用户下运行 我可以从远程位置访问服务,也可以查看wsdl,但是当我试图通过“WCF测试客户端”访问同一服务时,我遇到了以下错误 更新:当我通过将AppPool的标识更改为“网络服务”组来运行相同的服务时,可以通过测试客户端访问该服务因此,只有当服务在“网络服务”(用户的默认标识)以外的标识下运行时,才能访问服务元数据我过去遇到过这个问题,解决方案是在客户端和托管服务的服务器之间使用服务帐户进行身份验证。我遇到

我使用自定义应用池在IIS 6上托管了WCF服务。此应用池配置为在IIS_WPG组中的用户下运行

我可以从远程位置访问服务,也可以查看wsdl,但是当我试图通过“WCF测试客户端”访问同一服务时,我遇到了以下错误


更新:当我通过将AppPool的标识更改为“网络服务”组来运行相同的服务时,可以通过测试客户端访问该服务因此,只有当服务在“网络服务”(用户的默认标识)以外的标识下运行时,才能访问服务元数据

我过去遇到过这个问题,解决方案是在客户端和托管服务的服务器之间使用服务帐户进行身份验证。

我遇到了与上述相同的问题。。以下是我在解决这个问题时所做的事情

我将开始向IIS6部署WCF

  • 在服务器中创建一个文件夹并复制WCF包
  • 为您的WCF创建应用池
  • 右键单击新创建的应用程序池,选择属性,然后转到标识选项卡。选择“可配置”,然后输入您的服务帐户凭据,而不是网络服务
  • 我没有创建新的网站。在我的例子中,我在默认网站下创建了一个虚拟目录,并将其指向我复制的WCF文件夹
  • 创建虚拟目录后,右键单击它,然后选择属性。下面是每个选项卡的设置

    虚拟目录选项卡

    • 单击“创建”按钮以创建应用程序名称
    • 在执行权限中选择“仅脚本”
    • 选择已创建的应用程序池
    • 单击应用按钮保存更改
    文档选项卡

    • 添加新内容-WCF.svc文件的名称
    • 单击应用按钮保存更改
    目录安全选项卡

    • 单击“身份验证和访问控制”中的“编辑”按钮
    • 使用服务帐户凭据更改用户名和密码
    • 单击确定(如果需要重新确认,请再次输入密码)
    • 单击应用按钮保存更改
    ASP.Net选项卡

    • 选择4.0.30319版本(如果需要.net framework 4.0)
    • 单击应用按钮保存更改
  • 现在,转到计算机管理>系统工具>本地用户和组>组

  • 打开IIS_WPG组并添加您的服务帐户

  • 然后转到开始>管理工具>本地安全策略

  • 展开安全设置>本地策略>用户权限分配。搜索“作为服务登录”,然后在那里添加您的服务帐户

  • 最后,转到C:\WINDOWS\Temp文件夹。右键单击它,然后选择属性。单击安全选项卡,然后添加您的服务帐户

  • 要设置特殊权限,请单击“高级”按钮

  • 选择您的服务帐户,然后单击编辑按钮。在权限列表中,仅勾选或选中“列出文件夹/读取数据”和“删除”权限。单击确定并应用按钮以应用更改。如果消息框提示您,请单击“是”以在子文件夹中应用

  • 现在,最后一刻。确保应用程序池正在运行。在浏览器中测试WCF,然后在WCF测试客户端中测试

  • 在我的情况下,它的工作,完美:)

  • 希望这将帮助您…

    检查此问题的答案:您的服务似乎缺少元数据(mex)端点。Coral,mex端点从未在服务配置中定义。问题稍有不同,它只在服务以自定义用户标识而不是“网络服务”运行时发生。自定义用户标识对服务运行所需的所有文件具有权限?包括来自wwwroot的文件和证书(如果您添加了安全性)?