- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 谈谈jQuery和跨域访问
跨域访问,需要服务端支持JSONP,JSONP使用JSON填充响应结果。jQuery中的ajax方法对JSONP有很好的支持,甚至无需特别声明,jQuery内部根据请求地址自动判断,如果是跨域的就启动JSONP,如果是本域就是常规的AJAX。但是正因为跨域请求的返回结果不是常规的JSON,所以不仅需要客户端有特殊的方法,服务端也需要对JSONP进行专门的支持:服务端需要知道下载完毕后的回调函数是什么,需要把执行回调函数的JavaScript语句写入到响应流中。
2014-11-25 17:17:11
2086
原创 CSharp Tips:Delegate成员变量和Event的区别
简单分析了在定义类的时候,声明Delegate成员变量和Event的区别。
2010-11-19 10:00:00
4401
1
原创 CSharp Tips:Drag & Drop的高级应用
本文简述了怎样把把应用程序中的数据(文件/流)通过拖放(Drag and Drop)的方式复制到桌面或者Explorer中。
2010-11-18 15:38:00
1795
1
原创 CSharp Tips:调用Win32 API如何处理指针类型的参数(补)
2年多前整理了一下调用Win32 API过程中指针类型的参数如何处理,发觉遗漏的重要的一点,就是怎样处理UNION。C/C++中UNION是这样定义:“联合”是一种特殊的类,也是一种构造类型的数据结构。 在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任何一种数据,这些数据共享同一段内存,已达到节省空间的目的(还有一个节省空间的类
2009-06-27 18:19:00
3353
原创 MSBuild的深入认识
最近在从事自动构造工作的过程中,对MSBuild本身有了一些更加深入的认识。MSBuild不仅仅是一个构造工具,应该称之为拥有相当强大扩展能力的自动化平台。按照笔者现在的理解,MSBuild平台的主要涉及到三部分:执行引擎、构造工程、任务。其中最核心的就是执行引擎,它包括定义构造工程的规范,解释构造工程,执行“构造动作”;构造工程是用来描述构造任务的,大多数情况下我们使用MSBuild就是遵循
2009-01-20 11:56:00
14779
原创 自动构造--MSBuild和Team Foundation Build基础
1、MSBuild1.1、概述MSBuild(Microsoft Build Engine)是Microsoft的新的生成平台,通过MSBuild可以创建和编辑可扩展的生成解决方案。从Visual Studio 2005之后,CLR项目的生成工作就转由MSBuild完成,大家比较一下Visual Studio 2005/2008下C#工程和VC工程就会发现其中的不同。MSBuild可以
2008-12-21 17:52:00
4144
1
原创 CSharp Tips:使用OleDb操纵Excel文件(1)
0、前言在进行数据操作的时候经常会碰到这样的要求,“将从数据从Excel文件导入到数据库中”或者“将数据导出到Excel文件中”,这时我们不得不对Excel文件进行操作。一般情况下我们使用Excel自带的一套COM对象对Excel文件进行操作,这套对象模型的功能非常强大,不仅可以通过WorkBook、WorkSheet等一系列对象操纵每一个Cell的数据,而且还可以操作Excel界面中的窗
2008-04-05 13:24:00
7513
3
原创 三层架构的进一步理解
三层架构也有十年的历史了,虽然刚毕业的时候做的就是三层架构的应用,但是今天回想起来当时并没有真正理解三层架构需要解决的问题,只是盲从,生搬硬套而已。 现在是人都知道什么是三层架构,无非用户界面(UI)、业务逻辑(Business Logic)和数据层(Data)。UI和Data这两层都好说,数据一般不就数据库(当然还可能是文件系统或者其他数据服务,当然利用DBMS一定是最多的)么,UI也好
2008-03-31 13:44:00
3560
1
原创 编码系列--Base32编码的完整示例
0、前言几年前由于做一些和加密有关的工作,所以写了几个编码的示例,包括Base32和Base24,当年示例代码写得比较随手,而且不是完整的部分,仅演示编码解码的过程,存在不少问题。Blog很少打理,发觉不少朋友对这部分比较感兴趣,不更新一下有误导大家的嫌疑呀,所以重新更新一下示例,希望对大家有帮助,同时也希望和大家讨论是否有更有效的算法。 1、完整的示例再次声明,代码中不保证没有
2007-10-02 11:48:00
3684
1
原创 CSharp Tips:以整数的形式传递对象引用
0、前言怀念C/C++光荣岁月的孩子,总是念念不忘指针。指针的确是个很神奇的东西,一个32位的整型(仅针对32位平台而言),时而函数、时而结构、时而数组,从而使得C,简洁又不失功能强大。指针和结构珠联璧合,巧妙地解决了很多编程上的问题,这也是我们在DotNET平台下条用Win32 API比较麻烦的根源。指针简洁的背面充斥着内存非法访问和内存泄露等一大堆头疼的问题,所以在DotNET平台下,
2007-08-01 15:32:00
3450
原创 CSharp Tips:模拟MSN Message发送文字效果的实现
在MSN Message发送文字的原则是:单击Enter发送;没有输入任何文字是发送Enter无操作;单击Shift+ Enter,在输入框中添加一个回车,即换行显示;没有输入任何文字,单击Shift+Enter,也在输入框中添加一个回车,即显示一个空行;没有任何外文字,单价Shift+Enter,然后再单击Enter,发送一个空行。 具体实现的代吗非常简单,处理文本框的两个事件即可
2007-06-15 12:00:00
2395
1
原创 CSharp Tips:调用Win32 API如何处理指针类型的参数
0、前言从VB到C#,被人诟病比较多的就是交互性比较差,又集中表现在调用Win32 API上。如果说C/C++调用API只是调用函数这类轻松的活,在C#下却成了阻挡入门者的技术活。之所以产生这么大区别在于数据类型的差异,就是因为C#这类采用了“安全”的类型,我们避免了内存释放和内存访问错误的一些困扰,但是不得不面对调用API时的繁琐。有得必有失,关键看你选择了什么。在调用API时,
2007-04-27 10:45:00
16237
13
原创 应用SQL Server 2005 Compact Edition
0、序言--SQL Server 2005大家族细数一下才发现SQL Server 2005产品线中居然包含了这么多版本:除了熟悉的Standard和Enterprise等版本外,还有Workgroup Edition、Express Edition、Compact Edition的版本。划分是细致了,但是每一个版本都有针对了特定的应用环境。SQL Server Express Edi
2007-01-22 15:28:00
6162
4
原创 DotNET 1.1迁移至DotNET 2.0的注意事项
最近有一个项目要求从DotNET 1.1的平台下迁移到2.0下,花了一周时间进行这个工作,将迁移过程中碰到的一些问题记录下来,整理了这篇文章。 DotNET 2.0的类库较之DotNET 1.1发生了很大的变化,总体感觉在线程间调用,数据的检查方面比以前严格了。在迁移时需要注意如下问题。 1、控件AutoSize的变化1.1、原先AutoSize是class Form的属性,现在提
2006-12-30 10:00:00
2153
原创 CSharp Tips:在Form中显示动画图片
在Windows Form的程序中有的时候需要显示动画,例如连接网络的动态图标。传统的做法可能是做一组BMP表示不同的状态,然后在Form上添加一个定时器,隔若干毫秒,绘制下一幅图片,如此循环。但是只能是BMP,没法自动支持本身有动画效果的Gif格式的图片。在DotNET中有一个ImageAnimator类,动画处理包含基于时间的帧的图像,这样的在C#中就不需要加载一组图片了,一个Gif轻松搞
2006-08-28 11:14:00
7547
1
原创 DotNET的混淆器--Dotfuscator的使用说明
由于.NET体系结构的特殊性,为了保护源码,混淆器被提到了一个很高的地位,Visual Studio 2003就自带了一个混淆器--Dotfuscator Community Edition。Dotfuscator Professional Edition能够提供了流程模糊、字符串加密、冗余属性的裁剪等;但是Dotfuscator Community Edition,作为一个免费的版本,功能是
2006-08-24 14:41:00
7581
原创 CSharp Tips:怎样创建COM的实例
0、前言C#总的来说不错,Framework也提供了比较丰富的类库,基本上能够满足大部分的需要。但是应用程序难免要和遗留系统打交道,比如说:API函数或者COM组件。C#在Framework环境内部怎么玩都挺好,一旦要和Framework之外的组件函数打交道就需要作一些手脚了。这里主要对在C#中调用COM组件经常遇到的集中情况进行说明。 1、引用一个COM组件,通过New创建大
2006-05-19 16:43:00
8899
1
原创 编码系列--Base24编码
0、写在前面Windows和Office的序列号就是在最终换算之后,通过Base24编码转换成为可显示字符串的。写这个系列的目的就是做类似的东东。 1、编码原理在Base32的那篇文章中已经比较详细的说明了,这里只指出与原理相比较,Base24是一个非常奇怪的方案,因为用4个bits作为分码段,只能用到16个,另外8个编码字符用不到,而采用5个bits作为分码段,又少8个字符。这就
2004-09-23 12:32:00
6906
10
原创 编码系列--Base32编码
0、写在前面这里讨论的编码主要的目的是将不可显示的二进制数组转变为可显示的字符串,包括其逆运算。通过特定的协议传输数据,或者加密解密的时候都会用到类似的方法。在这类运算中用的比较多的是Base64,比如MIME中,DotNET中更是直接提供了Base64 Encode和Decode的方法,相当方便。但是Base64通常由“a-z”、“A-Z”、0-9以及“+”和“=”这些符号组成,当中包含
2004-09-07 14:10:00
27997
10
原创 CSharp Tips:调用API注册和注销Windows Service
0、写在前面 DotNET平台下的类库封装的相当完善,普通的应用完全可以利用类库完成所有的工作。对于Windows Service的支持也是一样,只需要继承DotNET下提供的ServiceBase就可以创建Windows的Service,调用ServiceControl类的方法就可以控制Service的启动和关闭,非常容易。 然而生成了一个Service类型的应用程序之后,必
2004-01-04 10:13:00
3696
原创 CSharp Tips:应用程序访问集成Windows认证的站点
问题从事过Web Application的人都知道,在一个Web Site可以允许用户匿名访问,也可以禁止匿名强制要求认证才能够访问。在IIS的Directory Property/Directory Security下可以看到匿名访问(Anonymous access)和认证访问(Authenticated access)的选项。在认证访问中又有多种方式:基本认证(Basic)、摘要认证
2003-11-20 00:26:00
1995
原创 Exchange全文检索概述
0、写在前面 本文主要讲述在Windows2000 Server环境下,Exchange Server和Sharepoint Portal Server全检索功能的应用,同时涉及一些SQL Server下的概念。 本文只会对一些基本的概念进行说明,主要以个人理解和事例为主,希望了解详细的资料,可以访问参考文献的连接。对于文章中的错误与不足,请及时指正。 1、基本概
2003-11-07 01:04:00
2740
2
原创 CSharp Tips:引用ActiveX/COM组件时的Strong Name
问题DotNet平台下提供了比较完备的类库,但是第一个版本总归不可能面面俱到,而且由于历史遗留问题,经常会和COM/ActiveX的组件之间进行互操作。笔者碰到的问题就是在一个Assembly中调用到了Excel的对象,但是该Assembly需要封装成为一个ActiveX的Control,供IE的客户端脚本调用。简而言之,我在C#中用到了一个COM组件,还需要把自己封装成一个COM组件,听
2003-10-22 01:24:00
2368
2
原创 CSharp Tips:让DotNet实现的COM对象支持IObjectSafety接口
当我们实现的COM对象,或者ActiveX控件在浏览器中调用的时候,往往会出现警告框,提示不安全的控件正在运行。这是因为浏览器安全策略所限定的,浏览器认为只有“安全的对象”才能够被执行。所谓安全的对象就是指那些不访问本地资源的对象,例如不会去读注册表,不会写文件等等。一个满足条件的对象通过支持IObjectSafety接口告诉浏览器,自己是合法的。下面就简单的介绍一下怎么在C#中实现对于I
2003-10-16 09:40:00
2863
原创 AD & ADSI入门
AD简介Active Directory(以下简称AD)可以认为是一个大的层次结构数据库,集中存储的内容必须遵循AD当前所定义的Schema。我觉得AD中最重要的内容就是Schema,然后是ADSI。 Schema定义了数据存储的格式。包括类(classSchema),分为抽象类(Abstract)、附属类(Auxiliary)和结构类(Structure)三种;属性(attrib
2003-10-12 23:51:00
7569
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人