【发布时间】: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 中的原始堆栈和新堆栈之间的配置差异为零。我会遇到哪些类型的问题会导致这些类型的身份问题?
【问题讨论】:
-
嗨,迈克,这篇文章看起来很有用。 msdn.microsoft.com/en-us/library/ms733130.aspx。您的应用程序池的配置是否存在问题的可能性?是自己回收,还是在系统账户下运行?
标签: wcf iis-7 metadata identity wcftestclient