【问题标题】:Identity Check Issues in IIS Hosted WCF ServiceIIS 托管 WCF 服务中的身份检查问题
【发布时间】:2012-01-16 17:15:55
【问题描述】:

我有一组托管在 IIS7 中的 WCF 服务。我正在将服务移动到不同的文件夹,以便开始在 URL 中指定版本和环境。例如:

http://myserver/MyServices/ServiceA.svc

变成:

http://myserver/MyServices/QA/1.1.0/ServiceA.svc

我将新文件夹配置为 IIS 中的应用程序,并将其设置为在我们一直使用的同一服务应用程序池下运行。这一切都很好,我可以导航到我的 .svc URL 并查看 WSDL 或在 wcf 测试客户端中打开端点。但是,在尝试使用该服务时,我收到以下错误:

外发邮件的身份检查失败。对于 'http://myserver/MyServices/QA/1.1.0 /ServiceA.svc' 目标端点。

当我检查 WSDL 输出时,我注意到标识部分似乎遗漏了应用程序池的标识,它通常包括:

<Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
<Upn>myappuser@mydomain.local</Upn>
</Identity>

尝试在 IIS 中重新部署和重新配置应用程序后,我能够让身份仅出现在部分服务的元数据中。其他服务还是不包括在内,这比以前更奇怪了。据我所知,IIS 中的原始堆栈和新堆栈之间的配置差异为零。我会遇到哪些类型的问题会导致这些类型的身份问题?

【问题讨论】:

标签: wcf iis-7 metadata identity wcftestclient


【解决方案1】:

该问题是由于尝试将新的服务堆栈 Web 应用程序嵌套在现有的服务堆栈 Web 应用程序中而引起的。我认为当子应用程序中的服务将端点暴露给与根 Web 应用程序相同的合同时,这可能会给 IIS 造成一些混乱(尽管理论上这应该可以正常工作)。我只需要将新的服务堆栈移动到一个单独的文件夹结构中。一旦我这样做了,我就可以毫无问题地在元数据中公开应用程序池身份。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-26
    • 2011-07-05
    • 2012-02-17
    • 1970-01-01
    • 2022-12-13
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多