注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

Silverlight开发之三异常  

2013-01-21 14:25:21|  分类: NET(C#) |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Silverlight开发之三异常

因为一直在考虑把异常控制起来,所以总想着把异常的框架搭起来,不过到上周才基本完成。还是先上代码:

    public  class ErrorHandle<TEntity>

        where TEntity : global::System.ServiceModel.DomainServices.Client.Entity

    {

        public ErrorHandle()

        { }

 

        /// <summary>

        /// 加载调用错误回调函数

        /// </summary>

        /// <typeparam name="T"></typeparam>

        /// <param name="e"></param>

        public void OnLoadErrorCallBack(LoadOperation<TEntity> e)

        {

            if (e.HasError)

            {

                MessageBox.Show("加载错误" + e.Error.ToString());

                e.MarkErrorAsHandled();

            }

            if (e.IsComplete)

            {

                //其下:业务逻辑代码

            }

        }

        /// <summary>

        /// 提交保存数据库错误回调函数

        /// </summary>

        /// <param name="so"></param>

        public void OnSubmitErrorCallBack(SubmitOperation so)

        {

            if (so.HasError)

            {

                MessageBox.Show("提交错误" + so.Error.ToString());

                so.MarkErrorAsHandled();

            }

            if (so.IsComplete)

            {

                //其下:业务逻辑代码

            }

        }

        /// <summary>

        /// INVOKE调用错误回调函数

        /// </summary>

        /// <typeparam name="T"></typeparam>

        /// <param name="io"></param>

        public void OnInvokeErrorCallBack<T>(InvokeOperation<T> io)

        {

            if (io.HasError)

            {

                MessageBox.Show("调用错误" + io.Error.Message.ToString());

            }

            else

            {

                //其它逻辑

            }

        }

    }

主要是自己写了一个泛型类,用来处理多个页面共用错误处理机制。这里的难点主要是泛型类的主体的泛型参数的问题,这个问题的引起是在第一个错误处理函数,LoadOperation<TEntity>这个变量中的泛型参数必须是TEntity类型,所以模仿着NET写一个继承。

这个类处理了三种的错误:

一、加载查询时的错误回回调处理。

二、数据提交时的错误处理。

三、POCO调用时的错误处理。

东西还很简单,主要是先搭出一个架子来,然后再完善和加强。年底了,活儿还是这么多。真是感觉有点点累,其实主要是心累啊。

心里已经准备过年了。

  评论这张
 
阅读(575)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017