RSS 2.0 Feed
2003-10 Entries
摘要:前三个结果就是这三天的每日视频集锦:http://www.microsoft.com/downloads/results.aspx?sortCriteria=date&OSID=&productID=C9C8FCFB-BFF3-40CA-B59D-216F6850000A&CategoryID=&freetext=&DisplayLang=zh-cn&DisplayEnglishAlso=on...[阅读全文]

posted @ | Feedback (3) |

摘要:第一个疑问是,如果采用ORM,那么是否还需要存储过程? 存储过程的用处不仅仅是效率的提升,更重要的应该是提升了数据库对于系统中数据访问层的清晰度,数据库提供给数据访问层的,不再是一个通用的可以执行SQL语句的入口,而是更像接口函数一样的存储过程。 但是,ORM的出现,使得数据访问层在系统中的作用大大降低,由于ORM可以自动对Entity对象与数据库中的Table进行字段与属性的映射,所以我们实际可能已经不需要一个专用的、庞大的数据访问层。存储过程的作用也就变得模糊起来。 想想ORM诞生的一个原始动力,使我们可以在不需要了解低层数据库的基础上,就可以直接利用它,而不需要再去了解SQL这些数据库的东东。(Java环境中著名的Hiberate的意思就是冬眠,让数据库和SQL语句冬眠。)而再去写一个个的存储过程,反而违反了ORM的初衷。 OK,于是再引出第二个问题。如果我们在系统中全面采用ORM访问数据库(在.Net Framework 1.2中,这叫Accessing data with ObjectSpaces替代Accessing data with Ado.net),是不是降低了我们系统的灵活性了呢? 在实际的系统中,每个数据层决不仅仅就只是那统一的几个方法(返回所有数据、根据ID返回数据,根据Parent的ID返回Child数据,根据ID更新数据....等等...),为了让它工作得更好,我们总会根据具体的情况增加一些必要的方法(根据××返回记录行数...)或更特殊的方法。在这样的场合,ORM显得很笨拙,要实现同样的效果,需要费更多的周折。 不知大家怎么看待这个问题,有何看法和见解?哇,过十点半了,闪人,回家乐.........[阅读全文]

posted @ | Feedback (14) |

摘要:SDK是EAP(Early Adopters' Preview)版本的,这个版本可以跑在.Net Framework 1.1下面。整个并不复杂,用法也很简洁明了。/*    TableMappings.xml是一个描述表与实体对象的对应关系(表中的哪个字段对应实体对象的哪个Property)的xml文件。    DataSource.xml是一个描述数据源信息(基本上就是给一个连接字符串)的xml文件。    ObjectSpace类用来维护数据库与实体对象间的连接。*/ObjectSpace os = new ObjectSpace(”TableMappings.xml”,”DataSource.xml” ) ;/*    ObjectContext是一个维护实体对象的类*/CommonObjectContext context = new CommonObjectContext(os.ObjectMappings);/*    随手写的例子,一个Person类,假设已经定义好*/Person kaixin = new Person();kaixin.FullName = “开心”;kaixin.Age = 27;/*    把这个实体对象加入到ObjectContext对象中*/context.Add(kaixin);/*    通过ObjectSpace对象的Update()方法,把这个新增的实体对象写回数据库*/os.Update(context, kaixin, UpdateOptions.Default);/*    通过ObjectReader对象把数据库中所有FullName为'开心'的数据读出来*/ObjectReader reader = os.GetObjectReader(context, new ObjectQuery(typeof(Person), “FullName = '开心'” ) ) ;/*    遍历取出的数据,注意,从reader中取值不需要做Cast操作哦*/foreach(Person p in reader) {    Console.WriteLine(“Age of {0} is {1}.”, p.FullName, p.Age.ToString());}当然啦,如何在那个传进ObjectSpace构造函数的TableMappings.xml文件中定义好表与实体类,字段与属性的关系,是关键啦。这个文件中还可以定义Insert、Update、Delete用哪些StoredProcedure来处理等等,当然,也可以描述Parent-Child关系。直接在这里打的代码中的双引号会自动转成全角的,呵呵。...[阅读全文]

posted @ | Feedback (5) |

摘要:这两天好累啊,眼睛都有点红红的,今天早点闪,回家。 家里电脑上装上了.Net Framework 1.2,文档里面好像比1.1多了不少东东,至少看到了ObjectSpaces了。 好像是在ccboy那里看到说蓝色理想把1.2的文档至少看两遍了,强人啊...不过蓝色理想的站点上的确不少ASP.Net 2.0的东东。...[阅读全文]

posted @ | Feedback (3) |

摘要:微软已经在MSDN站点和ASP.NET站点新增了Whidbey的内容,不少图片:http://www.asp.net/whidbey/http://msdn.microsoft.com/asp.net/whidbey/ Longhorn的SDK也出现在了MSDN上,看来Win32 API的确可能快走到头了,SDK Refrence里面看来都是.Net的东东,在Longhorn下开发看来已经离不开.Net了。 为什么偶盼望PDC呢,因为看来PDC上会公布不少有关Longhorn和Whidbey的东东,很可能也会给参与大会的人员分发Whydbey PDC Preview版(就像当年也是在PDC上给与会者分发VS.Net PDC Preview版一样),那网上也很快会有相关的下载,那偶不就...嘿嘿......[阅读全文]

posted @ | Feedback (6) |

摘要:OPF.Net是一个实现ORM的类库,http://www.littleguru.net/index.aspx,感觉其整个结构还是不错,就是太过烦杂了,我想如果真用起来肯定写代码也是比较麻烦罗嗦。 各位在项目开发中有用一些ORM的产品吗?还是都是干脆自己写?...[阅读全文]

posted @ | Feedback (3) |

摘要:今天看别人的一段代码,看到他的集合类都是通过继承CollectionBase类来实现的,赶紧看MSDN帮助,才发现.net已经提供了三个抽象的类来给我们继承以实现自定义的集合类: CollectionBase  基本的集合类ReadOnlyCollectionBase  只读的DictionaryBase  基本的key-value集合类 惭愧惭愧,以前自己的代码中的集合类都是通过实现IList,然后通过聚合(内部的一个ArrayList)来实现,呜呜... 看来学习永无止境啊...努力!...[阅读全文]

posted @ | Feedback (10) |

摘要:http://www.dotnettools.org/download/com/realizing_potential_dopod.wmv 是微软的广告,相当棒。 我想,里面体现的理念,可能就是微软的目标和企业文化吧,就像当年Bill Gates的“让每个办公桌上都有一台PC”。这样的企业理念比国内公司的那些空洞、大话、没人相信的所谓企业理念和企业文化要更能被员工接受并鼓舞员工前进吧?...[阅读全文]

posted @ | Feedback (10) |

摘要:我们定制的基于SharePoint Service的站点中的用户管理,在增加新用户时包含了两个动作:1、通过.Net中的DirectoryService在相应的OU(我们给每个客户分配了一个OU,以便于管理)中增加一个用户;2、把第1步创建的用户增加到当前SharePoint站点的用户中在做第一步时遇到一个问题,因为新增用户这个操作是给用户站点的管理员进行的,而用户站点管理员这个用户帐号在服务器上并不是属于Domain Admin的角色,所以是没有通过Active Directory新增用户帐号的权限的。 解决方法是利用角色模拟,在需要新增域中的用户时,模拟一个具有这个权限的用户进行模拟,完成这个操作后,再结束模拟。 WindowsIdentity类是用来描述Windows用户的类,它有一个方法Impersonate(),可以模拟某一用户,但是它需要一个IntPtr类型的表示要模拟的用户的Token Handle来作为参数,这时需要用到Win API来得到这个Handle,所以自己又写了一个类来封装这个操作。 示范代码:// IdentityImpresonation是自定义的用来表示用户模拟的类,构造函数// 参数分别为:要模拟的用户的用户名、密码、所在域(或机器名)IdentityImpersonation imper = new IdentityImpersonation("tsg", "123456", "webreal");imper.BeginImpersonation();// 进行某些操作imper.StopImpersonation(); 这个类的源码:http://blog.joycode.com/kaneboy/posts/3801.aspx...[阅读全文]

posted @ | Feedback (4) |

摘要:每天都是很晚才睡,又一直有点感冒,所以这几天人都不是很精神,吃饭也提不起劲。 昨晚没呆在办公室,下了班吃了饭就跑去女朋友公司了,她在一家规模挺大的培训学校做老师,那家公司是属于典型的“包身剥削式”公司,每天老师晚上还得抽出时间跑到街边发学校的宣传单,昨晚帮她一起在街上发单,偶总是一次就给别人两份,嘿嘿,100份宣传单挺快就发完了,估计其中90张在半小时内都会被人随手扔掉。然后就手牵手送女朋友回去了。不久还是得帮她另找工作。 有人听说过微软的一个叫ObjectSpaces的类库吗?是一个做OR Mapping的东东。今天和MSN Messenger上的朋友谈到ORM,他提到了ObjectSpaces,于是在网上找了一下,好像微软很早就开始ObjectSpaces的开发了,在.Net Framework PDC Preview版出来后就发布了一个测试的版本,但.Net Framwork正式发布后,反而没有消息了。现在微软正式的说法是,还在开发之中,可能2004年面世。 找到了ObjectSpaces的安装文件,可惜它只认.Net Framework PDC Preview版,呵呵,没法安装,看了一下例子,是包含在Microsoft.ObjectSpaces命名空间里面的,没仔细研究。说不定微软早把这个产品Over掉了也说不定,呵呵。 不过网上倒是能找到不少.Net的ORM产品,有开源的,也有商业产品。奇怪,今天我又看不了SourceForge了,郁闷。...[阅读全文]

posted @ | Feedback (4) |

摘要:一个SharePoint中DiscussionBoard的问题困扰了一天。从SDK文档到微软新闻组,CodeProject论坛,DevX论坛,sharepointu.com论坛,被我都搜了一遍,极少有关SharePoint Service 2003的文章或帖子,晕啊... 把问题贴在了微软新闻组,结果就是SharePoint.TeamService的斑竹跟贴告诉我不应该把Service2003的相关的帖子贴到TeamService版(版本不同),继续晕... 晚上把IBuySpy Portal装到了电脑上,准备这段时间把IBuySpy的程序结构看一遍,不愧是微软的示范程序,结构清晰,很多用法是我以前都从没用过的。当然,也多亏代码里面注释很详细啦,嘿嘿... 不过感觉IBuySpy的数据存取架构很简单,没有像一些系统那样搞得层次分明而复杂,优点就是代码和网站结构都很清晰,整个网站由各种Module组合起来,而且可以自己写Module加进去。 有研究过微软的PetShop、Duwamish的大虾也发表自己的心得啊。...[阅读全文]

posted @ | Feedback (3) |

摘要:深圳的动感地带卡开通了GPRS功能,20元包月(注意,不是200!),但是只开放CMWAP,不开放CMNET,就是说,只能连接wap站点,不能去访问internet上的东东。但是网上有人通过一些方法,是电脑连接手机后,依然可以用IE访问网站。早就想让家里的电脑能够上网了,又心疼ADSL每月200的包月费,于是把GF的西门子2128借来(偶的西门子6688不支持GPRS),又去买了一条兼容的数据线,上深圳移动的网站把我的卡开通了GPRS业务,然后先用手机试了试,上wap没问题,于是迫不及待的用数据线连上电脑,从西门子网站上把gprs modem驱动下载回来,安装上,检测gprs modem设备,手机立马自动关机了,再试,还是自动关机,晕... 晚上回家里了再用家里的电脑试试。...[阅读全文]

posted @ | Feedback (12) |

摘要:我觉得VS2003中最差的地方就是那个所谓WYSIWYG的网页设计器了,以前一直是用DW的,所以越发觉得这个内置的设计器差劲了,难道MS不能把这个设计器做得好用一些吗? 1、这个设计器自动生成的HTML垃圾代码多多2、还可能自动格式化我手工写的HTML3、从设计器中看到的效果和在IE中看到的差别大大 唯一好的,就是对ASP.NET的WebControl支持好(自家东西),而DW在这方面就差了。...[阅读全文]

posted @ | Feedback (11) |

摘要:昨晚看新买的书到两点半,现在头都有点沉...看来只能借助鹊巢了。 Wrox版图书的特点:原书内容的确不错,翻译的确垃圾(语句不通也就算了,居然常常把原来的意思翻译得倒过来)...[阅读全文]

posted @ | Feedback (0) |

摘要:http://chinese.joelonsoftware.com/ 也许你以前就看过他的一两篇文章。不过他的文章的确很棒。...[阅读全文]

posted @ | Feedback (5) |

摘要:呵呵,送货上门、货到付款,看来网上书店是中国B2C电子商务做得最好的了。买了一个Wrox的关于ASP.NET的书和一本Oreilly的《JSP设计》,呵呵,公司里面不少JSP程序员,不学都觉得浪费资源的说...:)偶在进现在的公司之前是做Delphi的,心仪.NET,所以就跑到.NET公司跟随了微软。以前还写过一篇在Delphi中模仿ADO.NET类的文章(http://www.csdn.net/develop/read_article.asp?id=20609)。不过心里还是颇为期待Delphi.Net的发布。...[阅读全文]

posted @ | Feedback (7) |