表单身份验证到期+ Silverlight

时间:2011-09-26 21:15:49

标签: .net silverlight security forms-authentication

我有一个Silverlight应用程序,服务器端使用“Forms”类型的身份验证模式。此身份验证在一段时间后过期,这是我们想要的行为。服务器端是.svc Web服务。

问题是,如果我在身份验证到期后向服务​​器端发送请求,则会收到“远程服务器返回错误:NotFound”。信息。理想情况下,我想知道身份验证已过期,以便我可以在客户端以更优雅的方式处理它。

有没有人不得不处理类似的问题?

谢谢!

2 个答案:

答案 0 :(得分:0)

我将假设您无法控制被叫服务。如果不需要客户端上的立即更新(在您的描述中似乎不是这样),您可以简单地找出服务返回的异常并将其包装以显示您喜欢的内容。

ResultObject result;
try {
    result = RetrieveDataFromWebService();
} catch (ExceptionThatIsThrownFromWebService exception) {
    DisplayErrorInCustomWayToUser(exception);
}

答案 1 :(得分:0)

开箱即用,Silverlight / WCF通信无法正确处理故障。我的第一个建议是阅读
http://msdn.microsoft.com/en-us/library/ee844556(v=VS.95).aspx
这说明了如何在出现错误时告诉Silverlight读取SOAP主体,而不是默认为std CommunicationException行为。