首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Silverlight中捕获WCF异常的最佳方法是什么?

在 Silverlight 中捕获 WCF 异常的最佳方法是在服务方法内实现 try-catch 块。

代码语言:csharp
复制
[ServiceContract]
public interface IMyService
{
    [OperationContract]
    void SomeMethod();
}

public class MyService : IMyService
{
    // ...

    [OperationContract]
    public void SomeMethod()
    {
        try
        {
            // 执行 WCF 方法或调用其他外部服务
        }
        catch (FaultException<MyFaultContract> ex)
        {
            // 处理 WCF 异常
        }
        catch (Exception ex)
        {
            // 处理其他异常
        }
    }
}

使用这种方法,你可以捕获多种类型的异常,包括 FaultException,MessageSecurityException 和其他在 Silverlight 中发生的异常。这种方法将异常封装在 try-catch 块中,使其更容易维护和理解。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

更强悍Silverlight: WCF RIA Services

一个三层架构应用程序,中间层介于表示层和数据层之间,你所写业务逻辑和数据验证都将在中间层出现。...创建拥有良好用户体验RIA应用,你需要客户端和服务端有着相同业务规则,因此客户端和服务端保证同步中间层变得至关重要。...数据存读取和保存全都必须跨越网络,我们就必须使用N-tier架构才能让 Silverlight 顺利存取远程数据,这是一种很好实践,技术层面让开发者遵守现代软件开发最佳实践,但是对于小项目来说并不是一项简单事... Silverlight 3,我们通过WCF 或是ADO.NET Data Service 来实践所需功能,WCF RIA Service 则是完全为了解决这一方面的问题而发展出来相关服务,也是基于...WCF服务,WCF支持各种通讯协议,目前WCF RIA Service只使用HTTP绑定,而且Silverlight 4支持tcp绑定,参见InfoQ Silverlight 4高速通信,对于企业业务系统来说我会选择

922100

Windows 10计算机上安装Python最佳方法是什么

本文中,我们将讨论Windows 10计算机上安装Python最佳方法,包括每种方法分步指南。...方法 1:使用 Microsoft Store 安装 Python Windows 10计算机上安装Python第一种方法是通过Microsoft Store。...打开Microsoft Store后,搜索栏中键入“Python”,然后按Enter键。 单击搜索结果“Python”应用程序,然后单击“获取”按钮开始安装过程。 按照屏幕上说明完成安装。...方法 2:使用 Python 网站安装 Python Windows 10计算机上安装Python另一种方法是使用Python网站。...每种方法都有自己优缺点,最适合您方法将取决于您特定需求和偏好。 按照本文中概述步骤,您可以轻松有效地 Windows 10 计算机上安装 Python。

2.3K40
  • Silverlight DataGrid使用WCF RIA Service实现Load-on-demand数据加载

    Windows或者ASP.NET Web应用程序,我们经常可以看到Grid控件上通过Load-on-demand方式来提高系统性能,提升用户体验。...-         添加Silverlight enabled WCF Service WebApplciation工程添加一个新Item,选取”Silverlight enabled WCF Service...Load-on-demand数据加载 -         Silverlight工程添加Service引用 如下图通过给Silverlight工程添加Service reference来操作WCF...-         从WCFService获取数据 将WCF Service引入后,IDE会自动生成EmployeeServiceClient类,通过这个代理我们就可以使用Service上方法了。..._employees.Add(employee); } } } -         DataGrid上实现数据Load-on-demand Silverlight

    68350

    Silverlight与数据库三种互操作

    安装完上述开发组件后,visual studio.net 2008会加入Silverlight项目模板,你可以选择Silverlight Navigation Application 或是 Silverlight...添加新页,而不是User Control,安装了RIA Service后会新增许多Silverlight项目模板,在你做应用开发时候会提供非常方便使用 创建一个普通WCF服务提供Silverlight...1执行SQL(insert ,update, delete),实现与数据库互操作 2执行SQL(select),得到返回dataset后以string类型返回 Silverlight调用WCF...新增功能实现完全参考LINQ to SQL实现方式,惟一不同是必须调用异步方法实现 创建一个Domain Service (RIA-LINK)提供Silverlight应用调用实现互操作 添加一个...调用LINQ查询,不同是不再需要调用异步方法实现这些功能,也不需要引用服务 RIA Serve框架 ? ?

    1.4K70

    SilverLight企业应用框架设计【一】整体说明

    【二】框架画面 SilverLight企业应用框架设计【一】整体说明 闲言碎语~不要讲 先上图片 这个系列讲到这个系统与 WinForm企业应用框架设计【一】界限划分与动态创建WCF服务(no svc...WinForm企业应用框架设计【二】团队内部约定和客户端按约定识别WCF服务 WinForm企业应用框架设计【三】框架窗体设计;动态创建菜单; WinForm企业应用框架设计【四】动态创建业务窗体 WinForm...用siliverlight开发企业应用 大多人数都喜欢用微软提供EntityFramework + RIA Service 由于某些特殊原因需要 项目可能不能用EF和RIAService 那么这个系列将为您提供一些指导和最佳实践原则...二:自己实现客户端实体和服务代理代码生成逻辑 使用RiaService的人肯定会知道 VS开发环境Silverlight客户端 自动生成了服务代理代码和实体代码 这些代码放在 Generated_Code...\[YorRIAService].g.cs 这个隐藏文件里 如果我们抛弃RIAService, 那么势必将自己完成这些代码生成工作 我们这个系列中将介绍到 每次编译程序都会自动生成这些代码 技巧 三

    29330

    Silverlight 2 Beta 1学习资源

    Using Silverlight 2's DataGrid with WCF + LINQ to SQL: 这个15分钟录像博客示范了如何在服务器上建造一个LINQ to SQL对象模型,然后用WCF...将其发布,然后示范了如何建造一个使用了新Silverlight DataGrid控件Silverlight客户端,该客户端调用WCF服务获取LINQ to SQL数据,将其绑定到DataGrid上。...Simple Editing of Web Service Data in a DataGrid: Mike Taulty有一篇好贴,展示如何在服务器上建造WCF服务,然后从Silverlight 2客户端使用它来获取数据...Sorting with Silverlight 2's DataGrid Control: Silverlight 2 Beta1DataGrid控件还没有内置列数据排序支持(将在Beta2提供...在这个贴子里,他展示了如何使用一个定制header列方法来实现排序。也看一下Matt这里贴子,该文提供了一个DataGrid测试页面,展示了目前DataGrid若干特性。

    1.2K70

    WCF技术剖析之二十一: WCF基本异常处理模式

    图2 客户端捕获从服务端抛出异常 从上面的实例演示,我们可以获知WCF默认情况下异常处理行为:对于服务端抛出异常(这里主要指应用异常),客户端捕获总一个具有相同异常消息System.ServiceModel.FaultException...由于异常类型和消息固定不变,对于服务客户端来说,直接通过捕获异常相关信息是无法确定服务端执行服务操作时候遇到具体错误是什么WCF如此设计一个主要目的为了安全。...二、 异常细节传输 通过上面的介绍,我们已经意识到了:默认情况下,如果异常(主要指应用异常执行服务操作过程抛出,其真正异常信息并不能被客户端捕获。...FaultException继承自FaultException,这两种典型异常类型WCF异常处理具有重要地位,本章后续章节还会重点讲述,在这里先做一点简单介绍。...在这种情况下,需要调用Abort方法对其进行强行中止。具体原理,WCF技术剖析(卷1)》第9章有详细介绍。

    789100

    WinForm企业应用框架设计【五】系统登录以及身份验证+源码

    UserId 登录逻辑服务类里,我们重写了CheckLogin方法 public class LoginService :ServiceBase, ILogin {...,所以我们重写方法就没有任何代码 CacheStrategy.AddObject(result.Id, result); 就是把当前登录用户存入缓存里 缓存我们用是HttpRuntimeCache...服务端基类里我们对验证不通过客户抛出了一个异常 throw new Exception("#请重新登录#"); (Exception这个类型异常相对于其他类型异常来说,是最后被处理) 再来看看我们获取所有菜单代码...就这些东西~ ---------------------------------------- 遗留问题 我试图ClientFactory获取服务端反馈错误 ((IClientChannel)proxy...------------------ 我正在研究一个silverlight上实现类似的框架 已略有小成 但我想,我还是应该先把DotNet4应用程序打包工具系列写完 再写silverlight东西

    63820

    silverlight动态读取txt文件解析json数据调用wcf示例

    终于开始正式学习silverlight,虽然有点晚,但总算开始了,今天看了一下sdk,主要是想看下silverlight如何动态调用数据,对于数据库访问,sdk官方示例多用是Ado.Net数据服务...,方便到是方便,就是感觉Ado.Net数据服务返回xml太啰嗦了,一点也不精简,数据通讯量太大(N多无用标签导致客户端与服务端之间传输数据增加了不少),于是想到能否直接用wcf返回json格式, 何况...sdk中提到silverlightSystem.Json已经完成了对json解析 经实验,用WebClient貌似就能解析一切,包括加载json文本,纯文本,以及wcf,不过要注意是:xap与被调用...LoadJsonTxtCompleted);             downloader.OpenReadAsync(serviceUri);         } /// /// 异常回调函数...代码也在这里贴出来,就是一"启用了ajaxwcf服务",没啥特别的,下面的代码仅参考(从NorthWind数据库,读取了表Categories部分信息) Code using System.Configuration

    1.4K100

    silverlight 《Hands-On-Labs》教程系列

    [控件使用和特点上做了介绍] Requirements: This tutorial requires the above installs along with Expression Design...[在这个教程你会看到如何使用多种访问远程数据方法,你将使用除了WCF,web serviceWebClient, Downloader和 WebRequest来获取数据.LINQ to XML和数据绑定都已经...silverlight得到了支持.最后你将有sl中使用ASP.NET Extensions Preview提供ADO.NET Data Services和feed syndication support....你可以使用designer工具去设计界面然后添加事件,设置属性.在后置代码 调用方法.这个控件包可以在你开发项目中就像内置空间一样使用.此外你可以添加属性,方法,事件到你控件来制定更加适应控件...[设个教程你将会看到如何使用css来Silverlight plug-in进行交互.如何建立适应浏览器大小变化Silverlight,如何融合HTML和Silverlight,如何在浏览器和c#访问

    91770

    Silverlight+WCF 实战-网络象棋最终篇之房间装修-WCF端(二)

    在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示 佛靠金装,人要衣裳,房间也要加金砖。本篇我们来把房间装修下,让它看起来专业一点!...:房间游戏中状态图片 3:QQ用户头像 图片是从QQ象棋游戏安装程序Copy过来,由于Silverlight只支持png等个别种类图片,所以用ps把图片另存为png格式了。...三:代码实现[WCF端] 1:WCF端代码:实体修改 WCF端:Player玩家实体 ExpandedBlockStart.gif /// /// 游戏玩家 by 路过秋天...2:WCF端:Service.cs代码修改[被注释是原来代码,未注释是修改代码] 方法:EnterRoom ExpandedBlockStart.gif //if (!...端就修改到这就完成了,接下来是Silverlight客户端,要调整代码N多。

    44220

    LightSwitch Sliverlight应用系统开发入门

    LightSwitch 提供最简单方法创建面向云和桌面的商业应用程序。...SharePoint和Office 应用程序可以运行在浏览器、脱离浏览器模式(OfB)下或云中 LightSwitch完成很多基础性工作,包括了大量拖拽特性,不过也允许开发人员需要时候访问...导入电子考勤机采集打卡记录,打印出一张报表,显示哪些人考勤异常,迟到/早退/加班,未打卡记录,做一下简单统计。 下面就开始LightSwitch开发。...设计你查询条件 ? 页面布局把这些控件拖拽到页面上 ? 简单演示就到这里。 后续课程 下面我将准备详细说明如何完成一个具体业务应用系统。...,Screen中加入代码实现逻辑 如何初始化输入值,或计算子段值。

    1.3K80

    SilverLight企业应用框架设计【五】客户端调用服务端(使用JSON传递数据,自己实现RESTful Web服务)

    企业应用框架设计【二】框架画面 SilverLight企业应用框架设计【一】整体说明 在上一节中讲到自动生成服务代理类核心代码,如下 public event ServiceEventHandler...实例化ServiceInvoker类之后就注册了ServiceEventHandler事件 此事件是服务调用完成后触发事件(silverlight 原生ria service也有一个completed...把需要调用服务类名,方法名,返回值类型(如果有参数,这里还会自动加入参数) PrepareInvoke方法如下 public void PrepareInvoke(string ClassName...sb.Append("&"); } ms.Close(); paramStr = sb.ToString(); } 在此方法主要是记录下这些信息...request.BeginGetResponse(new AsyncCallback(ResponseReady), request); }); } 在此事件我们把服务类名方法名和参数写入了请求流

    72720

    WCF服务上应用protobuf

    通过将这些类包含在项目中,可以很轻松调用相关方法来完成业务消息序列化与反序列化工作。...protobufgoogle是一个比较核心基础库,作为分布式运算涉及到大量不同业务消息传递,如何高效简洁表示、操作这些业务消息google这样大规模应用是至关重要。...基于UDP协议网络应用,由于UDP本身是有边界,那么用protobuf来处理业务消息就很方便。但在TCP应用,由于TCP协议没有消息边界,这就需要有一种机制来确定业务消息边界。...TCP网络编程这是必须面对问题。tcp网络编程,要反序列化业务消息,就要先知道业务数据大小。而且实际应用可能在一个发送操作,发送多个业务消息,而且每个业务消息大小、类型都不一样。...官方文档也提到,protobuf并不太适合来作大数据处理,当业务消息超过1M时,就应该考虑是否应该用另外替代方案。

    77260

    FixMatch:一致性正则与伪标签方法SSL最佳实践

    本文介绍了谷歌研究团队提出FixMatch[1],这是一种大大简化现有 SSL 方法算法。FixMatch是SSL两种方法组合:一致性正则和伪标签。 如图所示为FixMatch流程图。...: λ ,其中 λ 表示无标签损失权重,官方开源代码其设为1。...,无标签数据伪标签准确性随着 τ 增加而增加(下图(a), τ 时达到最佳),而将参数 (Temperature)引入FixMatch非但不会获得更好性能(下图(b)),还会增加调参成本。...另外,Mean-Teacher、MixMatch等SSL算法训练期间会增加无标签损失项权重( λ )。...下表为五折交叉验证得出FixMatch及其baselinesCIFAR-10数据集上错误率: 模型预测 CIFAR-10数据集飞桨复现版本精度如下: 结论 半监督学习算法日益复杂发展

    1.2K50

    yieldWCF错误使用——99%开发人员都有可能犯错误

    昨天写了《yieldWCF错误使用——99%开发人员都有可能犯错误[上篇]》,引起了一些讨论。...我们一个Console应用编写了如下一段简单程序:返回类型为IEnumerable方法GetItems以yield return方式返回一个包含三个字符串集合,而在方法开始时候我们打印一段文字表明定义方法操作开始执行...例子 再次回到《yieldWCF错误使用——99%开发人员都有可能犯错误[上篇]》中提到例子,现在来解释为什么针对如下两段代码,前者抛出异常不能被WCF正常处理,而后者可以。...对于后者,异常在执行GetItems方法时候会立即抛出来,WCF捕获这个异常并作为应用级别的异常进行正常处理;对于前者,通过上面的分析我们知道异常实际上发生在对返回“集合对象”进行迭代时候。...具体是什么时候呢?其实就是对返回对象进行序列化时候,此时抛出异常将将会视为系统异常来处理。

    1.6K90

    silverlight获取外部数据另一种选择:FluorineFx

    Silverlight从其它系统获取外部数据常规途径无非下面2种: 1、直接远程加载文本或xml文件 (直接请求ashx/aspx,然后ashx/aspx上输出信息也可以归入这一类) 2、通过wcf...基本上这个配置作用就相当于添加wcf(svc文件)后,系统自动web.config增加配置节点,用于提供一些必要配置信息.   2.3修改web.confighttpModules节点为以下内容...项目添加对SliverlightApp引用) silverlight访问FluorineFx关键代码如下: using FluorineFx; using FluorineFx.AMF3; using...所以FluorineFx相对于基于soap协议web service/wcf而言,应该是效率会更高,不过我们也应该看到微软进步:wcf传输数据时,除了xml格式,还可以用json格式甚至直接最原始...这是用httpwatchfirefox下测试结果: 如果用最原始stream方法封装json数据,返回数据为 ? 如果用系统提供json自动封装,返回数据为 ?

    96750

    WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理

    WCF客户端和服务端框架体系相互协作,使得开发人员可以按照我们熟悉方式进行异常处理:服务操作执行过程抛出异常(FaultException),调用服务时捕获异常,完全感觉不到“分布式”存在...右图体现了错误(Fault)整个WCF异常处理过程流转。...WCF服务端框架内,实现FaultException异常对象相Fault消息转换过程,除了提供与FaultException对等MessageFault之外,还需要提供FaultException...二、异常抛出、序列化、反序列化与捕获 现在系统介绍WCF异常处理整个流程,由于前面已经作了足够铺垫,具体涉及到WCF对整个异常处理流程控制,反而没有太多内容可讲。...如果在执行过程,抛出出FaultException异常WCF会获取当前DispatchOperationFaultFormatter,调用Serialze方法异常对象进行序列化。

    914100

    针对构架师.NET 3.0介绍

    由于.NET 2.0和3.0共享同样CLR,.NET 2.0编写任何程序都可以运行于.NET 3.0,这是和以前版本一个重要而显著区别。...最后,从生产力来看,使用WCF来开发安全事务性网络服务,你将获得生产力级别上显著提高。...你甚至可以工作流已经处于运行过程时添加和删除活动,这将使你面对改变时候具有巨大灵活性。...我建议你去看一个WPF应用程序演示,来理解我指下一代用户界面是什么意思。例如,你可以查看一下收藏于不列颠图书馆里面的15大最珍贵图书,其中包括了莫扎特和达芬奇手稿。...近来另外一个需要更多关注技术是WPF Everywhere(WPF/E),它现在官方名字叫SilverLight。请记住,SilverLight不是.NET 3.0框架一部分。

    1.3K60

    WCF技术剖析之二十四: ServiceDebugBehavior服务行为是如何实现异常传播?

    对于一般异常(比如执行Divide操作抛出DivideByZeroException),默认情况下,异常信息无法实现向客户端传递。...实际上,WCF对非FaultException异常处理并不复杂,我们现在就来简单介绍一下相关流程:执行服务操作过程,如果抛出一个非FaultException异常WCF会先判断IncludeExceptionDetailInFaults...开发是否开启,如果没有,WCF会手工创建一个MessageFault对象,并根据当前线程语言文化从资源文件获取一段固定文本作为MessageFaultFaultReason(就是我们WCF基本异常处理模式...同样以我们计算服务为例,Divide方法我们直接用ExceptionDetail封装在运算过程抛出异常,最终抛出FaultException异常。...下面的代码,我们将捕获FaultException异常相关信息打印出来: 1: using System; 2: using System.ServiceModel

    85290
    领券