12 2011 档案
摘要:Suggestion:1.尽量使用符号数值类型(比如Int32和Int64),而不要使用无符号的数值类型(比如UInt32和UInt64)。这允许编译器检测更多的上溢/下溢错误。除此之外,类库的多个部分(比如Array和String的Length属性)被硬编码为返回有符号的值。这样一来,在代码中四处移动这些值时,需要进行的强制类型转换就少了。较少的强制类型转换使代码更整洁,更容易维护。除此之外,无符号的数值类型不相容于CLS的(不符合cls的要求).2.写代码时,如果代码可能发生你不希望的溢出(可能是因为无效的输入数据而发生的,比如需要使用由最终用户或客户机提供的数据来处理一个请求),就把这些
阅读全文
摘要:引言我查阅过不少Asp.Net的书籍,发现大多数作者都是站在一个比较高的层次上讲解Asp.Net。他们耐心、细致地告诉你如何一步步拖放控件、设置控件属性、编写CodeBehind代码,以实现某个特定的功能。这种做法,实际上是回答了“如何去做”的问题,却没有回答“为什么可以这样做”的问题。尽管我很推崇 悉江华 先生的《圣殿祭祀的Asp.Net开发详解》一书,但当我翻看了一下其对角色(Role) 和 用户(Member)的讲解时,我决定跳过去直接读后面的章节。因为我发现他也随了大流,对这部分的讲解停留在“如何去做”的层面上。我相信像悉先生 这样的牛人是不可能不了解底层运作原理的,仅仅是因为那本书原
阅读全文
摘要:select语句中只能使用sql函数对字段进行操作(链接sql server),select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不对的原因是indexof()函数不是sql函数,改成sql对应的函数就可以了。left()是sql函数。select 字段1 from 表1 where charindex('云',字段1)=1;字符串函数对二进制数据、字符串和表达式执行不同的运算。此类函数作用于CHAR、VARCHAR、 BINARY、 和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数
阅读全文
摘要:在开始使用Blend前,首先需要进行Silverlight的开发环境搭建,在银光中国网(SilverlightChina.Net)有篇“轻松建立Silverlight开发环境”,其中列出了建立Silverlight开发环境的几个步骤,另外,我在过去发布过一篇“Silverlight开发工具集合”文章,也列出了Silverlight项目开发必装工具软件,这里对于开发环境的搭建,我就不再赘述。Silverlight开发环境搭建成功后,我们将通过实例介绍Blend入门操作,我使用的Blend是英文版本,我将对照翻译成中文。首先使用Blend按照以下步骤创建一个新的Silverlight项目,1. 点
阅读全文
摘要:随着计算机软件开发分工细节化,微软对已有的产品线进行了调整,在保持原有经典开发工具Visual Studio基础上,又推出了一套新的设计开发工具系列,Expression Studio。 Expression Studio设计工具系列包含四项主要产品:Expression BlendExpression Blend(下称Blend),是一款用于设计桌面和Web应用用户界面的可视化工具。用户可以通过拖拉控件方式创建用户交互界面;另外Blend中,包 含一款软件原型建模工具SketchFlow, 该工具允许用户快速开发出专业的项目原型,创建设计原型后,以丰富的界面效果展示给客户,该工具将在后文详细
阅读全文
摘要:Silverlight Validation验证实例教程系列已经写了七篇了, 今天将完成计划中的最后一个话题,创建自定义扩展验证类,本篇是根据一些读者反馈的问题总结而来的,在本篇最后,将简单的对目前Silverlight Validation验证框架提供的验证机制进行总结性的对比和归纳,希望能够帮助大家在实际项目中定位和应用验证框架。阅读过前几篇Silverlight实例教程的 朋友,给我留言和来信,大家对于Silverlight Validation类的使用,总感觉有些不灵活,特别是在自定义使用时,很难轻松的控制错误验证的捕获和弹出。 下面,我将演示另外一个实例,该实例将帮助开发人员创建自定
阅读全文
摘要:上一篇,我们讨论了,捕获用户提交数据验证。本篇将集中讨论Datagrid和Dataform两个数据控件的数据验证方法,其中,我们会附加介绍一个新的验证控件ValidationSummary。概述Datagrid和Dataform是Silverlight中最常用的两个数据控件,其主要目的是作为数据集合的载体控件。这两个控件不仅支持自 动数据绑定,而且允许用户添加许多自定义行为操作,例如编辑,排序,删除,添加等。而在日常项目开发中,经常会碰到用户在编辑,或者添加时对数据的验证判 断,在数据commit前,即捕获数据异常并返回提示信息到客户端。ValidationSummary控件在Datagrid
阅读全文
摘要:在以往的Validation系列中,介绍了四种Silverlight验证机制:基本异常验证机制;DataAnnotation验证机制;IDataErrorInfo客户端同步验证机制;INotifyDataErrorInfo服务器端异步验证机制;在每篇的实例中,大家都能发现这几种Silverlight Validation机制是根据异常主动触发的验证机制。本文将介绍另外一种常用验证方法,该验证方法是基于以上四种验证机制,我们称之为被动型触发验证。概述被动型触发验证,简单的理解,就是当用户交互时,通过用户行为被动激活Validation验证机制。简单的例子,一个需要注册用户的页面,其表格中,没有任
阅读全文
摘要:上一篇,着重介绍了Silverlight客户端同步数据验证机制,演示了IDataErrorInfo接口的实现方法。在一些实际的Silverlight企业级项目中,我们经常会遇到通过服务对数据进行验证,另外应用在验证的同时,不会影响其他功能的运行,也就是我们常提及的异步操作,这样的需求IDataErrorInfo接口和前期我们讨论过的DataAnotation验证机制都无法实现。另外在一些项目中,开发人员会绑定多个错误到一个数据成员,而IDataErrorInfo和DataAnotation也无法实现。Silverlight 4中,微软引入一个新的接口INotifyDataErrorInfo,该
阅读全文
摘要:前文介绍过Silverlight Validation中两个数据验证机制,ValidatesOnExceptions异常捕获验证机制和DataAnnotation验证机制,这两种验证机制,是在Silverlight 3 Validation Framework推出的,其运行方式类似,都是当异常抛出后,应用对异常信息进行捕获,并显示在客户端。在Silverlight 4中,Silverlight Validation有相对的改进,本篇将介绍Silverlight 4中新加入的验证机制功能,IDataErrorInfo客户端同步验证机制。Silverlight 4 IDataErrorInfo接口
阅读全文
摘要:在学习了Silverlight Validation数据验证基础属性和事件后,大家对Silverlight数据验证应该有了一个简单明了的认识。今天,我将继续介绍另外一种Silverlight的Validation验证机制,DataAnnotation。在文章开始前,我想首先介绍一下Visual Studio中如何调试Silverlight的Validation代码。Visual Studio 2010调试Silverlight Validation设置技巧相信大家在运行上一篇的代码时会发现,在异常出现时,Visual Studio会自动中断和获取当前异常错误信息,这为调试带来了一些不便。针对以
阅读全文
摘要:说起来Validation验证功能,相信大家都不陌生,在应用中,当需要用户交互输入时,开发人员都会加入一些验证代码,这样可以有效的避免应用异常出现,也可以使应用的错误提示信息清晰明了的显示在客户端,有利于异常定位,同时也提高用户体验。特别是在商业应用项目中,使用Validation功能,可以在数据存入存储设备前,进行格式,以及内容的校验,这样也提高了数据存储的安全性。下面的ASP.NET的验证控件演示,是传统Web应用中最常见的验证效果,其中包括Required Field Validator,Range Validator等验证控件,Ajax Validation:而Silverlight同
阅读全文
摘要:Now that you know the basics of the Silverlight DataGrid and how to specify the Columns in XAML, you might want to customize your DataGrid's columns at runtime.This process is pretty straight forward, so instead of doing the usual end-to-end walk through, I'm going to provide you with a Rose
阅读全文
摘要:在前面已经介绍了Silverlight的Out of Browser模式与COM的基本操作以及与Office COM的交互。这篇我们将介绍更多Silverlight Out of Brwoser的COM实例。我们将继续使用过去的SilverlightOOBDemo项目进行简单扩展。实例1:演示Silverlight与DOS的交互,对于Windows API熟悉的朋友应该了解,使用WShell可以运行任何Dos命令。1privatevoiddosBtn_Click(objectsender,RoutedEventArgse)2{3using(dynamicshell=AutomationFact
阅读全文
摘要:熟悉Silverlight的朋友应该知道,Silverlight从1.0版本到现在的4.0版本,其功能性越来越强大,从下图我们可以看出,Silverlight的应用模型的一个转变过程,从Javascript到现在Trusted应用,我们目睹了Silverlight坎坷的演变过程,尽管现在仍旧存在不足之处,但是有了更多开发人员的支持和帮助,Silverlight一定会更好更强大。在前几篇中,我们通过简单的实例详细介绍了Silverlight Out of Browser应用开发基础。为了下一篇的实例做准备,本篇,我们将补充介绍一些Silverlight Out of Browser应用开发知识点
阅读全文
摘要:在本篇开始前,首先感谢每一位留下反馈评论的朋友,在我看来,博客不仅仅是简单的分享,同时也是一个学习和发现的过程。在阅读完一篇文章能对其有所评论和提问,也是一种思考的表现。在上篇“Silverlight实例教程 - Out of Browser与COM的交互基础”中,我们讨论了Silverlight的OOB应用访问COM组件基础知识,在大家的反馈中,有不少朋友提出疑问,Silverlight对于COM的支持,使其失去跨平台的优越性,另外,Silverlight仅有Out of Browser模式能支持COM,是否仍旧存在较大的局限性? 对此在本篇我们不进行长篇分析和讨论,只是简单的把我的看法说一
阅读全文
摘要:相信读过前几篇Silverlight Out of Browser实例教程的朋友已经对Silverlight的OOB应用有了一定的认识和了解。今天,我们将讨论Silverlight Out of Browser的另外一个功能实例,Silverlight OOB与COM API的交互操作。在开始实例之前,我们先了解一些基本的概念。首先说说什么是COM?这里我不想过多篇幅的讨论COM和COM+,在微软MSDN对COM技术有详细的解释,有兴趣的可以看看。这里我们只是对COM进行一个简单的描述。所谓COM也就是Componet Object Model,中文称为组件对象模型,通常被用于创建可复用软件组
阅读全文
摘要:在上两篇教程中,讲述了Silverlight的Out of Browser理论知识和基础实践。本节将讲述如何创建自定义的Out of Browser应用以及如何调试Silverlight的Out of Browser应用。Silverlight Out of Browser的自定义化从Silverlight 4开始,OOB应用支持信任权限设置和窗口自定义,最典型的自定义窗口应用是Silverlight Facebook客户端。从下图可以看出,OOB应用其运行效果已经基本和Windows应用相似,其专业效果不逊于WinForm和WPF应用。对于创建自定义窗口应用,微软提供了非常简单的方法,首先选
阅读全文
摘要:在上篇“Silverlight实例教程 - Out of Browser开篇”中,介绍了Silverlight的Out of Browser基础理论知识。本篇将介绍Silverlight的Out of Browser在实例开发前的基础设置以及一些开发技巧。在创建Silverlight项目时,默认是不支持Out of Browser模式的,所以在使用Silverilght的Out of Browser前,需要对Silverlight项目进行设置,使其支持OOB项目安装和运行。在以下演示中,将创建一个演示例程,该例程将在后续教程中使用,由于该教程不属于Silverilght基础开发教程,所以这里,
阅读全文
摘要:众所周知,学习一门IT技术,最关键的是实践,无论是软件开发还是网络调试,只要在真实环境下勤于动手和思考,很快就能掌握一门技术,Silverlight也不例外。为了帮助更多朋友快速学习掌握Silverlight应用开发,我计划以实例应用的方式,讲述Silverlight的各个特性,从而达到在学习理论的基础上,和实践相结合的目的。在每个阶段的实例教程中,将围绕一个Silverlight特性为核心主题进行扩展学习。我的开发环境是:Windows 7 Ultimate 英文版Visual Studio 2010 Premium 英文版Expression Blend 4 Premium 英文版Silv
阅读全文
摘要:1.为文字添加垂直颜色渐变:<TextBlock Text="Type your message"> <TextBlock.Foreground> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="Red"></GradientStop> <GradientStop Color="Black" Offset="1&
阅读全文
摘要:上一篇,我给大家讲解了关于Socket编程的基础知识http://www.cnblogs.com/chenxizhang/archive/2011/09/10/2172994.html本文将在这个案例的基础上,加入一个特殊场景,利用Silverlight来实现客户端。有的朋友可能会说,其实是一样的吧。请不要急于下结论,有用过Silverlight的朋友都有这种体会,很多在标准.NET Framework编程中能用的技术,到了Silverlight里面,或多或少会有些限制。不幸的是,Socket这个功能就是其中一个。这本身没有什么好不好的问题,Silverlight首先是运行在一个特殊的沙盒中,
阅读全文
摘要:这一篇文章,我将图文并茂地介绍Socket编程的基础知识,我相信,如果你按照步骤做完实验,一定可以对Socket编程有更好地理解。本文源代码,可以通过这里下载 http://files.cnblogs.com/chenxizhang/SocketWorkshop.rar第一步:创建解决方案第二步:创建服务端程序这里可以选择“Console Application”这个类型,比较方便调试然后编写如下代码,实现服务器的基本功能using System;using System.Collections.Generic;using System.Linq;using System.Text;//额外导
阅读全文