MonoRail和Linq To SQL的兼容性问题
2008-03-21 16:52
246 查看
今天无意中发现的一个兼容性问题。如果你使用了Monorail+Linq进行开发,这个问题很值得注意。
我在项目中使用Linq内置的OnXXXChanged/OnXXXChanging进行数据有效性验证,比如
partial void OnTopicChanging(string value)
public void Post([DataBind("article")]ArticleInfo articleInfo)
{}
然后我在Globle.ascx.cs中进行未处理异常的捕获
但奇怪的是,当OnTopicChanging中的异常发出后,Globle.ascx.cs竟然无法捕获。也就是说,如果你直接像我这样绑定数据并处理异常的话,是无法得到想要的结果的。
其实原因很简单,SmartDispatcherController在数据绑定的时候用了一个try catch,然后把绑定过程中发生的所有错误全部截获,并放到了BoundInstanceErrors中去了。
解决方法有两个:1.判断BoundInstanceErrors的Count并做相应处理;2.把OnTopicChanging中的验证移到OnValidate中去....
怨念啊~~~我不知道ASP.NET MVC是否存在类似的问题,有条件的朋友可以测试一下。
我在项目中使用Linq内置的OnXXXChanged/OnXXXChanging进行数据有效性验证,比如
partial void OnTopicChanging(string value)
public void Post([DataBind("article")]ArticleInfo articleInfo)
{}
然后我在Globle.ascx.cs中进行未处理异常的捕获
但奇怪的是,当OnTopicChanging中的异常发出后,Globle.ascx.cs竟然无法捕获。也就是说,如果你直接像我这样绑定数据并处理异常的话,是无法得到想要的结果的。
其实原因很简单,SmartDispatcherController在数据绑定的时候用了一个try catch,然后把绑定过程中发生的所有错误全部截获,并放到了BoundInstanceErrors中去了。
解决方法有两个:1.判断BoundInstanceErrors的Count并做相应处理;2.把OnTopicChanging中的验证移到OnValidate中去....
怨念啊~~~我不知道ASP.NET MVC是否存在类似的问题,有条件的朋友可以测试一下。
相关文章推荐
- LINQ to SQL: DataContext.SubmitChanges() 失效问题
- LINQ to SQL集成到应用程序中需考虑的一些问题
- linq to sql 中,如何解决多条件查询问题,答案,用表达式树!
- linq to sql 中,如何解决多条件查询问题,答案,用表达式树! (下)
- LINQ to SQL的默认值问题
- Linq To EF 用泛型时生成的Sql会查询全表的问题
- LINQ to SQL集成到应用程序中需考虑的一些问题
- 有关linq to sql中数据类型转换问题
- Linq to SQL: Delete时遇到的问题
- 关于Linq to sql更新的问题
- LINQ to SQL常见问题目录
- linq to sql 中,如何解决多条件查询问题,答案,用表达式树! (下)
- Linq to SQL 插入数据时的一个问题
- Linq to SQL 插入数据时的一个问题
- linq to sql更新问题解决方案
- 扩展方法解决LinqToSql Contains超过2100行报错问题
- LINQ To SQL 中 聚合函数的使用问题
- LINQ to SQL之Step by Step及新手问题小结
- 关于LINQ TO SQL (dbml文件)的更新问题