01 2011 档案

摘要:博客园在开发中至今还未使用ASP.NET MVC,似乎有点跟不上时代了,但是否采用一项技术,关键的是这个技术是否能真正解决实际问题。这篇文章将以我们正在开发的博客园新版站内短消息功能为例,说明一下不需要ASP.NET MVC的理由... 阅读全文
posted @ 2011-01-31 12:00 dudu 阅读(8551) 评论(57) 推荐(11) 编辑
摘要:之前的方法存在一个问题,如果用扩展方法解决这个问题,我们将面临新的问题。这个问题就是在调用时,需要指定返回类型。可以采用另外一种方法解决这个问题。还有更好的解决方法吗?我目前只能找到这个方法... 阅读全文
posted @ 2011-01-30 15:59 dudu 阅读(3667) 评论(26) 推荐(6) 编辑
摘要:看了dragonpig写的“教你30秒打造强类型ASP.NET数据绑定”,眼前一亮,真是太给力了,原来还可以这样进行数据绑定。立即小试了一下,并进行了一些改进,目前已经应用于Home中的新闻栏目。下面分享一下改进心得... 阅读全文
posted @ 2011-01-30 11:51 dudu 阅读(4439) 评论(20) 推荐(12) 编辑
摘要:Entity Framework使用的连接字符串与ADO.NET是不同的。相比于ADO.NET,Entity Framework的连接字符串不仅要存放metadata配置信息,还要存放完整的ADO.NET数据库连接字符串。我觉得更合理的设计应该是将数据库连接字符串独立出来,并提供一个"provider connection string name"的设置,在这个设置中可以指定“数据库连接字符串”的名称... 阅读全文
posted @ 2011-01-29 14:46 dudu 阅读(16823) 评论(12) 推荐(10) 编辑
摘要:之前发现Entity Framework 4生成的COUNT查询语句问题,今天又发现它生成的分页SQL语句问题,而LINQ to SQL却不存在这个问题。目前看来,如果用Entity Framework 4,并在乎性能,只有两个选择:1. 不用LINQ to Entities,自己写SQL或存储过程;2. 自己写个Entity Framework ADO.NET provider for SQL Server ... 阅读全文
posted @ 2011-01-28 14:54 dudu 阅读(13413) 评论(45) 推荐(11) 编辑
摘要:Entity Framework的全称是ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)框架。在博客园新版短消息功能开发中,我们准备用Entity Framework 4,我们首先面临这样的问题:实体类与数据库都已经存在,而且实体类的类名与数据库中的表名,属性与表中对应的字段名称不同... 阅读全文
posted @ 2011-01-27 19:24 dudu 阅读(19531) 评论(20) 推荐(19) 编辑
摘要:在ADO.NET Entity Framework 4中,查询记录数的LINQ to Entities语句生成的SQL语句竟然是子查询。 LINQ to SQL却不存在这个问题... 阅读全文
posted @ 2011-01-27 11:24 dudu 阅读(6333) 评论(6) 推荐(3) 编辑
摘要:在我们之前的开发中,对于ajax程序,都是通过jQuery调用标记为 [System.Web.Script.Services.ScriptService]的WebService,然后在WebService中调用后台的WCF。这成为WebService存在的唯一理由:作为ajax调用的中转站。如果要抛弃WebService,只需用WCF来作为中转站... 阅读全文
posted @ 2011-01-19 15:29 dudu 阅读(20774) 评论(63) 推荐(22) 编辑
摘要:在.NET 3.5中,我们需要这样做:1. 添加一个HelloService.svc文件,添加ServiceHost标记,在Service中添加WCF服务实现的名称...在.NET 4中,我们只要这样做:在web.config的system.serviceModel/serviceHostingEnvironment/serviceActivations中增加下面两个属性设置即可... 阅读全文
posted @ 2011-01-18 17:20 dudu 阅读(11630) 评论(26) 推荐(6) 编辑
摘要:如果你调用WCF服务时,像下面的代码这样在using语句中进行调用,需要注意一个问题。问题出在ClientBase.Close()上,Close()要关闭的是一个网络连接,如果这时网络连接出现问题,不能正常关闭会引发异常(ClientBase的Close方法就是这样设计的,引发异常,而不是强制关闭),问题就来了。 阅读全文
posted @ 2011-01-18 12:44 dudu 阅读(14216) 评论(49) 推荐(32) 编辑
摘要:今天在创建一个存储过程时出现错误提示:cannot resolve the collation conflict between "chinese_prc_ci_as" and "sql_latin1_general_cp1_ci_as" in the equal to operation是一个字段的的collation设置为了sql_latin1_general_cp1_ci_as,执行下面的SQL,改为database_default即可:ALTER TABLE blog_Content ALTER COLUMN SourceUrlnvarchar(200) COLLATE databas 阅读全文
posted @ 2011-01-11 20:08 dudu 阅读(12176) 评论(4) 推荐(2) 编辑
摘要:在博客园招聘频道的开发中,调用一个WCF服务时,遇到这样的错误:[代码]后来发现是因为数据库中一条记录的一个字段值是0,在程序中读取时转换为相应的枚举类型(enum),而该枚举类型没有定义0所对应的枚举值。这种情况下,转换为枚举类型不会引发异常,转换后该属性的值仍为0。但是返回给WCF客户端时,就会引发上面的异常。解决方法很简单,只要在枚举类型中定义一下0所对应的枚举值。 阅读全文
posted @ 2011-01-10 18:13 dudu 阅读(3581) 评论(2) 推荐(0) 编辑