SilverlightFaultBehavior类是Silverlight 4所必需的吗?

本文关键字:类是 Silverlight 4所 SilverlightFaultBehavior | 更新日期: 2023-09-27 18:14:03

MSDN显示

Silverlight version 4启用了对Windows通信的支持基础(WCF) SOAP错误编程模型,它允许将错误条件通信到客户端的服务。在以前的版本的Silverlight,如果在服务上发生错误,它将会显示注册为HTTP 500响应代码和有关错误的详细信息将无法被Silverlight客户端访问。

然而,其他一些地方建议仍然在Silverlight 4客户端使用这个,上面的内容似乎相当模糊,关于Silverlight 4该怎么做。我想知道是否有人可以确认应该使用什么方法来处理Silverlight 4上的WCF错误。

SilverlightFaultBehavior类是Silverlight 4所必需的吗?

是的,如果你想在Silverlight 4客户端中捕获错误,你需要使用自定义的WCF行为,当服务引发错误时,将HTTP状态码从500更改为200。

见:http://msdn.microsoft.com/en-us/library/ee844556 (v = vs.95) . aspx

在Silverlight中有两个HTTP栈,一个是由浏览器提供的(默认的),另一个是客户端栈,它是使用本地操作系统栈编写的。如果使用第一种方式,则需要使用fault行为将服务中的500转换为200。但是,如果您使用客户端堆栈,则应该能够处理SL中的"正常"错误。

更多信息请访问http://blogs.msdn.com/b/carlosfigueira/archive/2009/08/15/fault-support-in-silverlight-3.aspx。