2009-02-26 86 views
0

有谁知道是否有可能发现Silverlight中WCF调用的响应导致302(临时重定向)。Silverlight - 检查302 http响应

生成302是因为我们的服务在ISA和用户会话超时之后。 Silverligt应用程序仍然在浏览器中加载,并且用户进行交互以发起失败的WCF调用。我可以得到一个未找到的错误,但这也报告了一些不同的问题,所以不是一个真正的解决方案。我想专门定位302并刷新页面以让用户重新进行验证。

回答

0

我一直在寻找同一个问题的答案,但决定不使用这种方法来解决我正在处理的问题,所以我没有一个强制性的解决方案,但如果您使用的是Silverlight 3,那么你可能可以解决它。我得到尽可能使用替代HTTP堆栈于本页面底部的讨论:

http://developers.de/blogs/damir_dobric/archive/2009/08/22/soap-faults-and-new-network-stack-in-silverlight-3.aspx

这至少让我获取SOAP错误,但我不知道是否/如何可以访问HTTP 302响应,因为当我尝试这样做时,我发现Silverlight似乎实际上遵循重定向并在那里重新发出我的SOAP请求,而不是将其报告回给我的应用程序。

我开始研究的是如何使用行为改变这种情况。虽然我不太了解这个调查,但不知道它是否可行!

1

我遇到类似的问题,幸运的是找到了一个解决方案:能够检索超过200或404以外的Web请求的StatusCode你应该使用

var request = WebRequestCreator.ClientHttp.Create(uri) 

,而不是

var request = WebRequest.Create(uri) as HttpWebRequest; 

我写的最近在这个问题上的帖子,你可以看看here