有谁知道是否有可能发现 Silverlight 中 WCF 调用的响应导致 302(临时重定向)。
生成 302 是因为我们的服务落后于 ISA 并且用户会话超时。Silverligt 应用程序仍然加载在浏览器中,并且 usre 进行交互以进行失败的 WCF 调用。我可能会收到 Not Found 错误,但这也报告了许多不同的问题,因此并不是真正的解决方案。我想专门针对 302 并刷新页面以让用户重新进行身份验证。
有谁知道是否有可能发现 Silverlight 中 WCF 调用的响应导致 302(临时重定向)。
生成 302 是因为我们的服务落后于 ISA 并且用户会话超时。Silverligt 应用程序仍然加载在浏览器中,并且 usre 进行交互以进行失败的 WCF 调用。我可能会收到 Not Found 错误,但这也报告了许多不同的问题,因此并不是真正的解决方案。我想专门针对 302 并刷新页面以让用户重新进行身份验证。
我遇到了类似的问题,幸运的是找到了解决方案:为了能够检索除 200 或 404 之外的 Web 请求的 StatusCode,您应该使用
var request = WebRequestCreator.ClientHttp.Create(uri)
代替
var request = WebRequest.Create(uri) as HttpWebRequest;
我最近写了一篇关于这个问题的帖子,你可以看看这里。
我一直在寻找同一个问题的答案,但决定不使用这种方法来解决我正在处理的问题,所以我没有适合你的解决方案,但如果你使用的是 Silverlight 3,那么你也许能够解决它。我尽可能使用本页底部讨论的备用 Http 堆栈:
这至少使我能够访问 SOAP 错误,但我不知道您是否/如何访问 HTTP 302 响应,因为当我尝试这样做时,我发现 Silverlight 似乎实际上遵循了重定向并重新发出我的 SOAP 请求,而不是报告给我的应用程序。
不过,我确实开始调查的是如何使用行为来改变这种情况。不过,我对这项调查并没有走得太远,所以不知道它是否可行!