使用 Azure 和引用此服务的客户端 Windows 应用程序创建了一个 WCF 服务作为 WebRole。云服务是指使用 Windows Identity Foundation 中提供的“动手实验室”创建的证书。Web 服务托管在 IIS 中,并且在执行时可以完美运行。
我创建了一个引用此 Web 服务的客户端 Windows 应用程序。由于使用了 WIF 声明身份,因此我有一个 claimAuthorizationManager 类,还有一个包含一组定义策略的 Policy 类。声明在 web.config 文件中设置。
当我将 Windows 应用程序作为启动项目执行时,应用程序会提示进行身份验证,并且当在配置文件中提供帐户凭据时,它会打开一个新的“Windows 卡空间”窗口并显示“传入策略失败”。当我关闭窗口时,系统抛出异常
无法验证传入策略。有关详细信息,请参阅事件日志。
事件日志详细信息
传入策略验证失败。在策略 XML 中找不到有效的声明元素。
附加信息:在 System.Environment.get_StackTrace() 在 Microsoft.InfoCards.Diagnostics.InfoCardTrace.BuildMessage(InfoCardBaseException ie) 在 Microsoft.InfoCards.Diagnostics.InfoCardTrace.TraceAndLogException(Exception e) 在 Microsoft.InfoCards.Diagnostics.InfoCardTrace.ThrowHelperError(例外 e) 在 Microsoft.InfoCards.InfoCardPolicy.Validate() 在 Microsoft.InfoCards.Request.PreProcessRequest() 在 Microsoft.InfoCards.ClientUIRequest.PreProcessRequest() 在 Microsoft.InfoCards.Request.DoProcessRequest(String& extendedMessage) 在 Microsoft.InfoCards。 RequestFactory.ProcessNewRequest(Int32 parentRequestHandle,IntPtr rpcHandle,IntPtr inArgs,IntPtr& outArgs)
细节:
系统
- 提供者
[名称] CardSpace 3.0.0.0
- 事件 ID 267
[预选赛] 49157
2级
任务1
关键字 0x80000000000000
事件记录 ID 6996
渠道申请
事件数据
在策略 XML 中找不到有效的声明元素。附加信息:在 System.Environment.get_StackTrace() 在 Microsoft.InfoCards.Diagnostics.InfoCardTrace.BuildMessage(InfoCardBaseException ie) 在 Microsoft.InfoCards.Diagnostics.InfoCardTrace.TraceAndLogException(Exception e) 在 Microsoft.InfoCards.Diagnostics.InfoCardTrace.ThrowHelperError(例外 e) 在 Microsoft.InfoCards.InfoCardPolicy.Validate() 在 Microsoft.InfoCards.Request.PreProcessRequest() 在 Microsoft.InfoCards.ClientUIRequest.PreProcessRequest() 在 Microsoft.InfoCards.Request.DoProcessRequest(String& extendedMessage) 在 Microsoft.InfoCards。 RequestFactory.ProcessNewRequest(Int32 parentRequestHandle,IntPtr rpcHandle,IntPtr inArgs,IntPtr& outArgs)