Silverlight中DomainDataSource的一种Debug方法

Silverlight中DomainDataSource的一种Debug方法,第1张

概述当我们在使用Domain Service Class以及Entity Framework工作的时候,可能会出现因为隐藏的内部代码,而不知道错在哪里。 比如,在客户端程序需要向服务器端提交一个数据项,这个数据项包含了一个时间。 当我输入是: 1/1/0001 12:00:00 AM时,始终不对,百思不得其解。还以为是Entity Model的问题,这个问题困扰了我一段时间。 解决办法是:在Domai

当我们在使用Domain Service Class以及Entity Framework工作的时候,可能会出现因为隐藏的内部代码,而不知道错在哪里。

比如,在客户端程序需要向服务器端提交一个数据项,这个数据项包含了一个时间。

当我输入是: 1/1/0001 12:00:00 AM时,始终不对,百思不得其解。还以为是Entity Model的问题,这个问题困扰了我一段时间。

解决办法是:在DomainDataSource中加入一个SumittedChanges的事件。如:

        private voID libraryDataSource_OnsubmittedChanges(object sender,submittedChangesEventArgs e)        {            if (e.HasError)            {                System.Diagnostics.DeBUG.Writeline(e.Error.ToString());                e.MarkErrorAsHandled();            }        }


 

这样可以在Output中看到出现的问题。方便我们定位问题的原因。在Output中显示:

System.ServiceModel.domainservices.ClIEnt.DomainoperationException: submit operation Failed. An error occurred while updating the entrIEs. See the inner exception for details. InnerException 消息: sqlDateTime overflow.@H_301_23@ Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.

 

这样我们知道了问题的原因在于输入的时间字符串范围不对。按照Output中指示的进行修改后,即完成。这也就表明我们需要加入输入验证

总结

以上是内存溢出为你收集整理的Silverlight中DomainDataSource的一种Debug方法全部内容,希望文章能够帮你解决Silverlight中DomainDataSource的一种Debug方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1063475.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存