C# 填写silverlight Web服务中的e.错误

C# 填写silverlight Web服务中的e.错误,c#,silverlight,web-services,C#,Silverlight,Web Services,在我的Web服务(WCF)中,我有这个函数 [OperationContract] public ChooseViewData GetNcs(FilterArgument filter, int dossiersId, int usersId, string token) { SessionInfo info = Tokens.CheckToken(usersId, token); if (info.HasError) { //r

在我的Web服务(WCF)中,我有这个函数

[OperationContract]
public ChooseViewData GetNcs(FilterArgument filter, int dossiersId, int usersId, 
    string token)
{        
    SessionInfo info = Tokens.CheckToken(usersId, token);
    if (info.HasError)
    {
        //return null;
    }
}
在silverlight应用程序中调用此函数时,我想知道是否发生了错误

void client_GetNcsCompleted(object sender, GetNcsCompletedEventArgs e)
{
    if (e.Error == null)
    {

    }
}

我的问题是,如何填写e错误?当在我的服务中登录不成功时,我想引发异常。

要在WCF中引发异常,可以使用


并且
e.Error
将被填充。

这是一个非常常见的问题,人们询问如何将异常从WCF抛出到Silverlight。答案取决于您使用的Silverlight版本。在Silverlight 3之前,不支持捕获异常/故障。 这里介绍了SL2最优雅、最通用的解决方案:

自从Silverlight 3发布以来,有一个部分支持,可以与一些技巧一起使用,如下所述: