随笔分类 -  .net技术文章

摘要:csdn,cnblogs(博客园),新浪博客,网易博客,各种博客都使用过,不过对于一个开发人员,csdn和博客园算是比较好的,人群对象比较明确,好文章还能得到不少回应。新浪垃圾评论太多,而且技术类的文章并不是很受欢迎。不过做推广还是可以的。网易不多说,挺好用,如果写心情类的还不错,技术文章一样不是很受欢迎。不过,最后我还是选择wordpress,毕竟作为开发人员来说,写博客分享经验和学习成果是一方面,自定义博客,甚至在其上展示一些开发成果还是比较有意思的,因此,自己大件一个wordpress的个人blog还是很有吸引力的。独立的域名,自由的自定义功能和样式,能和自己开发的web程序整合,缺点是 阅读全文
posted @ 2012-11-06 13:59 ZetaChow晓代码 阅读(301) 评论(0) 推荐(0) 编辑
摘要:XMPP,即时通信协议。具体相关资料可以在各大搜索引擎找到。本文仅做概述XMPP出现的原因是目前IM已经成为主要的互联网应用,因此就出现了一个问题,各大运营商不互通,各自的IM有各自的架构和方式。另一个重要的互联网应用Email,通过遵从SMTP和POP协议,让各大服务提供商互通邮件。为了让IM软件像Email一样,实现服务商互通,于是又一帮人做出了一个标准化的即时通信协议XMPP,即时通信仅是XMPP协议实现的功能之一。遵从XMPP协议搭建的即时通信平台就像是Email一样,任何人都可以搭建自己的IM服务器,目前有很多开源的服务器端,类似搭建Email服务器的软件一样,当搭建好以后,任何遵从 阅读全文
posted @ 2012-02-15 18:05 ZetaChow晓代码 阅读(6824) 评论(1) 推荐(3) 编辑
摘要:之前的文章说到Winform中Settings的作用,和使用方法,本文补充一些说明Settings里的属性根据范围分为两种 “用户”和“应用程序”范围为“应用程序”的属性,读取都是从APP.CONFIG里获取,设置也可以通过手工修改App.config改变,但是在程序中无法对其进行赋值,只能读取。而范围为“用户”的属性 Settings 在第一次运行时会读取App.config里的初始值但是一旦调用Save方法后,Settings里“用户”范围的属性就会保存在系统里面,类似WebForm里的Cookies一样从此以后,读取都会从系统里保存的值里读取,手工修改App.config里的“用户”范围 阅读全文
posted @ 2011-11-03 16:22 ZetaChow晓代码 阅读(5991) 评论(0) 推荐(1) 编辑
摘要:一直用Copy,今天接触了一下Clone其实没什么事,随笔写一下,方法命名很有意思。Copy,都知道,复制,弄一个一模一样的副本出来。Clone呢?貌似和Copy一个意思?平时我们说克隆克隆,好像也是做一个一模一样的出来,其实不然,医学上来讲,Clone出来的生物具备和母体一模一样的DNA,可是仍然是需要从胚胎发育成长出来,因此,Clone体只具备母体的DNA,不具备母体的生活经验,记忆,后天技能。MS的方法命名也很严谨,Clone不同于Copy的地方就是,Clone体制具备数据结构,但没有数据。 阅读全文
posted @ 2010-06-02 17:08 ZetaChow晓代码 阅读(425) 评论(0) 推荐(0) 编辑
摘要:网上很多方法,但是内容包含太全面,代码看上去很复杂,其实其中有很多是控制UI的在WPF中ListView的排序最基本的原理很简单就一句话ListViewControl.Items.SortDescriptions.Add(new SortDescription("name",ListSortDirection.Descending));就是这句,主要就是设置ListView的Items的SortDescriptions属性,这个属性是个集合,不同于我们熟悉的SQL或DataView的排序属性设置,SortDescriptions的排序属性是一个数据集合可以包含很多个排序描述 阅读全文
posted @ 2010-06-01 16:18 ZetaChow晓代码 阅读(2464) 评论(1) 推荐(0) 编辑
摘要:是用WPF将数据导出成EXCEL其实和其他.NET应用是相通的,ASP.NET也好WINFORM也好,都是用相同的方法实现,唯一不同的是ASP.NET中可能会存在用户权限的问题,毕竟ASP.NET的执行用户是IIS指定的用户而不是默认的系统用户。具体实现方法如下,代码中使用完整的名称空间,便于理解第一步,不许引用Excel的程序集,不同于网上其他文章,我直接引用了.NET里的Microsoft.Office.interop.Excel ,而不是在Com里引用Microsoft Excel ,安装好VS08或.NET框架包以后 .NET本身就有这个程序集,不用去引用系统中安装的OFFICE的程序 阅读全文
posted @ 2010-06-01 11:20 ZetaChow晓代码 阅读(6271) 评论(2) 推荐(1) 编辑
摘要:做了这么多年开发,不怕笑话,还真的很少用CASE语句,毕竟很多判断实际上都是在逻辑层就做好了不过,CASE用起来还是非常方便好用的。小例子:判断Status参数值和当前字段值哪个大,当前字段值小就更改,否则就不更改。update [Records] set Status = (CASE WHEN Status < @Status THEN @Status ELSE Status END) where GUID=@GUID下面是转载的CASE的资料,SQL的联机丛书里也有Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数CASE sex WHEN '1 阅读全文
posted @ 2010-05-28 17:05 ZetaChow晓代码 阅读(33191) 评论(2) 推荐(0) 编辑
摘要:WPF中没有textarea的东西,不像在ASP.NET中设置textbox那样设置一个多行属性就可以变成文本域,虽然可以使用ricktextbox实现多行文本输入,但是richtextbox比较复杂,面对简单的多行文本输入的时候太麻烦了点,但是WPF的textbox依然可以通过设置属性实现像textarea一样的多行文本输入。一下是转载的一篇出处。本示例演示如何使用可扩展应用程序标记语言 (XAML) 定义一个 TextBox 控件,该控件将自动扩展以容纳多行文本。 示例 将 TextWrapping 属性设置为 Wrap 会导致输入的文本在到达 TextBox 控件的边缘时换至新行,必要时 阅读全文
posted @ 2010-05-24 10:42 ZetaChow晓代码 阅读(32539) 评论(2) 推荐(3) 编辑
摘要:或许很多新手会发现 WPF中 ComboBox绑定数据时没有办法制定 VALUE,甚至ComboBox里根本就没有这个属性,那么难道我们只能得到选择后的文本或者Content里的东西吗?要对应数据里的关键字列怎么办?还有,无论是在ListView,还是第三方的DataGrid在绑定数据之后,要获得某行某列的数据似乎也没有办法,因为这些控件里行列的集合并找到对应的方法来获得节点树上的控件对象的值。做惯了ASP.NET的开发员,突然遇到这样的情况会很迷茫其实,WPF做得更彻底。一个小实验在ComboBox或者ListView里绑定好数据之后,添加一个SelectedIndexChanged事件或其 阅读全文
posted @ 2010-05-21 18:15 ZetaChow晓代码 阅读(778) 评论(0) 推荐(0) 编辑
摘要:在使用SQL的GUID类型(uniqueidentifier)时,常会遇到在查询或添加记录等操作时出现GUID类型错误。举例:当前GUID变量在.NET里是Guid类型的ParameterAdd("@GUID", GUID, DbType.Guid);或 ParameterAdd("@GUID", GUID.ToString(), DbType.String);这两种提交参数的方法最终都能正常的运行出来因此GUID在数据库是可以匹配字符串类型的,只要GUID的字符串格式没错,那么提交参数时只要类型统一,用String或Guid类型都可以。但是Parame 阅读全文
posted @ 2010-05-20 17:48 ZetaChow晓代码 阅读(1265) 评论(0) 推荐(0) 编辑
摘要:很多人认为关闭应用程序应该很简单,例如WindowsForm里一个Application.Exit();方法就可以解决问题,但在WPF里面可别滥用,因为WPF里Application类没有该方法,倒是有一个Exit的事件驱动,在WPF应用程序里面关闭程序讲究很多:在WPF应用程序的关闭是有ShutdownMode属性设置,具有3中枚举类型的值:1)OnLastWindowClose 应用程序最后一个窗体关闭时关闭应用程序2)OnMainWindowClose 应用程序主窗体关闭时关闭应用程序3)OnExplicitShutdown 显示调用关闭在OnExplicitShutdown模式下必须显 阅读全文
posted @ 2010-05-17 16:33 ZetaChow晓代码 阅读(33984) 评论(0) 推荐(4) 编辑
摘要:WPF,之前在研究SilverLight的时候大致的了解过一下,当时的感觉就是界面更好看的WINFORM而已,另外采用了可见的XAML标记语言。并没有引起太多重视。三天前,接受一个客户端项目,于是想想干脆用WPF开发一下看看,虽然C/S结构的项目做得比较少,但是也不会太困难。刚开始,实用WPF,似乎与WINFORM没什么区别,但随着开发的深入,WPF的特点和不同之处开始显现出来。首先,必须纠正对WPF的理解,他其实并不再是传统的WINDOWS窗体的构架了。从编程的角度来看,WPF实用了标记语言作为界面的设计,关联后台代码处理复杂逻辑,很像是ASP.NET。总的来说就是CODE+MARKUP可以 阅读全文
posted @ 2010-05-14 12:33 ZetaChow晓代码 阅读(528) 评论(0) 推荐(0) 编辑
摘要:在WEB页面上,通常SUBMIT类型的按钮会被默认指派为所在FORM表单的提交按钮我们在做ASP.net WEB应用的时候,常常遇到会在同一个页面里添加多个按钮,而每个按钮肯定都会触发页面回送事件。在ASP.NET中,只能指定一个带有RUNAT=SERVER的FORM表单,因此,这个表单会指派哪个按钮为默认提交按钮呢?不做任何处理的情况下是很难控制的,例如在同一个页面里做了N个搜索框,设计上理想的思路是在某一输入框输入关键字后,用户按ENTER键,执行当前输入的输入框对应的提交按钮,但是,实际上往往事与愿违。无论怎么提交,总是会只执行某一个按钮事件。网上很多方法都是使用JAVASCRIPT来进 阅读全文
posted @ 2010-04-25 23:26 ZetaChow晓代码 阅读(1274) 评论(0) 推荐(0) 编辑
摘要:在数据库查询中,根据用户输入条件进行模糊查询是最常用到的,但是当今的应用中,仅利用数据库的模糊查询远远不够。但是一般企业也无法使用到类似GOOGLE或BAIDU等搜索引擎的分词方式查询,毕竟建立一个庞大的词库并进行精心的分词算法对很多应用来说是有点大炮打蚊子了。那么介于数据库的模糊查询和搜索引擎的查询,个人思考用分字查询,既然没有词库,没有算法,那么我们就改进模糊查询,让他更模糊写。思路:比模糊更模糊,一般的模糊查询是将用户的输入字符前后加上通配符进行查询,这样可以查询到用户输入字符前后之外的数据如“中文”那么进行数据库查询的时候变成这样 '%中文%' ,于是搜索到类似 ‘XX 阅读全文
posted @ 2010-03-10 23:09 ZetaChow晓代码 阅读(281) 评论(0) 推荐(0) 编辑
摘要:之前就有一篇COOKIE的类似温故文章了(http://blog.csdn.net/banmuhuangci/archive/2008/11/05/3229297.aspx),此文中重点叙述了COOKIE的Expires属性的不可读取问题,以至于重新发回COOKIE时需要再次设置Expires属性。 今天写这篇文章主要阐述一下SESSION的一些细节问题以及SESSION和COOKIE的关系 首先,论坛上经常会遇到的一个问题是,SESSION安全吗?答案是:安全,SESSION是保存在服务器上的,客户端无法擅自修改值,因此是安全的,但是如果作为登录状态的判断,SESSION是否安全就要看你是. 阅读全文
posted @ 2009-09-23 18:08 ZetaChow晓代码 阅读(318) 评论(0) 推荐(0) 编辑
摘要:在之前写的一篇文章中,提到当在WCF中创建一个类,SL中引用该WCF服务后该类会变成 XXClient的样子,当初初学(现在也是,不过要好一点点),对Wcf服务和Sl之间的关系看得比较片面。其实在Wcf中创建ServiceContract契约标注的类的时候才会在Sl中变成XXClient的形式的类,而还有一种创建Wcf类的契约指定DataContract,这个契约的用途主要是制订一个类的数据结构,提供给引用其服务的客户端共享类型。在通过wcf将一个数据集合传递给Sl的时候,我们会发现,异步完成事件的参数e的Result获得的数据集合是System.Collections.ObjectModel 阅读全文
posted @ 2009-07-15 01:11 ZetaChow晓代码 阅读(1710) 评论(0) 推荐(0) 编辑
摘要:在使用Silverlight做与服务器交互生成的列表时,也许会遇到一个在WEB开发中没想到过的我问题,滚动条。在IE中,IE会自动更具网页的大小来显示滚动条,所以曾经开发过WEB的开发员,从来不必为如何显示滚动条费心,通常我们还希望IE不自动显示滚动条,然而在开发SILVERLIGHT的时候,我们会发现,当你的内容已经超出Silverlight容器或控件大小的时候,并不现实出滚动条,你超出范围的内容将被隐藏起来。对于普通的体验开发来说,也许你的内容完全被你控制,不会出现这样的情况,但是如果是生成的一个列表,列表的行数动态通过服务器获得,那么这将比较重要,甚至在使用TextBox这种在web中不 阅读全文
posted @ 2009-05-21 10:52 ZetaChow晓代码 阅读(3868) 评论(0) 推荐(0) 编辑
摘要:刚接触Silverlight的时候,除了其异步应用WCF、流媒体、动画效果等方面外,Socket是最另我兴奋的功能。在Web上实现Socket虽然不是什么新鲜事了,Activex,flash等都可以实现这样的效果,但是Silverlight这样方便的运用Socket让服务器与客户端通信确是我之前没有体验过的。用它可以做什么?可以连线式的让服务器与客户端交互,而且,是在Web上,那么Web开发游戏,语音,视频聊天等都可以基于Socket功能实现,另外,服务器端是独立出来的,不依赖IIS进程,这样让数据之间的交互更自由。废话不说,下面来看看如何实现首先,在进行数据交换之前,我们必须明白Silver 阅读全文
posted @ 2009-05-16 12:30 ZetaChow晓代码 阅读(4870) 评论(4) 推荐(1) 编辑
摘要:Silverlight 的许多请求基本都是异步的,用WCF也好,WEBCLIENT也好,都会进行异步请求,并提供一个事件用于执行回调。在使用WCF和WEBCLIENT与服务器通信的时候通常我们都不会遇到什么麻烦,因为WCF的类方法和WEBCLIENT都是在主线程上执行和委托事件的,理所当然,回调事件也是在主线程上运行,所以一马平川的就使用了。但是当我们用到Socket或者HttpWebRequest(HttpWebRequest我自己本身没用但是看别人在用的时候遇到相同的问题)的时候回调事件中如果试图修改UI之类的时候就会出现“跨线程访问无效的”错误异常。为什么呢?以Socket来说,异步的回 阅读全文
posted @ 2009-05-13 13:43 ZetaChow晓代码 阅读(339) 评论(0) 推荐(0) 编辑
摘要:在使用Silverlight进行开发的时候,会觉得数据的操作是在是非常简单,不管是用WCF还是Webclient在于服务器通信后,Silverlight处理并显示数据都非常的方便,TextBlock TextBox等控件的使用方法也很容易掌握,但是,Silverlight依旧按照.net的传统提供了数据绑定的功能,使用数据绑定可以让Silverlight的数据操作更加灵活,有序。 开发过ASP.NET都知道数据的绑定是多么的常用和重要,页面自动更新数据,更具不同的用户操作显示不同的数据可以说是WEB开发的基础,同样Silverlight中的数据绑定也非常重要。 在微软提供的Silverlig. 阅读全文
posted @ 2009-05-08 11:02 ZetaChow晓代码 阅读(181) 评论(0) 推荐(0) 编辑