2012年5月28日

一步一个脚印学习WCF系列之WCF契约设计—复杂类型序列化之可序列化类型(二)

摘要: 阅读目录 一:数据序列化流程图 二:SerializableAttribute 一:数据序列化流程图 . 在WCF当中是通过序列化器来进行序列化的,大家可以通过这个图看到,如果我们希望传递一个数据的话或者说我们希望来传递一个对象,从客户端到服务器端或者从服务器端到客户端,我们需要进行数据的序列化,对数据进行序列化我们可以通过DataContractAttribute的数据契约这种方式来进行隐式的数据序列化,也可以通过特定的XMLSerializable序列化的方式来进行数据的序列化,还可以通过加SerializableAttribute标记来实现我们自定义的对象的序列化,无论我...阅读全文

posted @ 2012-05-28 09:57 从小就犯困 阅读(94) 评论(0) 编辑

2012年4月23日

一步一个脚印学习WCF系列之WCF契约设计—服务契约(一)

摘要: 阅读目录 一:SOA体系结构 二:WCF当中的客户端与服务 三:服务契约 四:实例 一:SOA体系结构 . 我在这里用图形在回顾一下,首先我们来看SOA的体系结构,在我们传统的经典的三层体系结构有客户层,业务逻辑层,数据访问层,而在SOA体系结构中多了一层服务层,就客户层而言它是与服务层进行通信的,然后再由服务层把客户所要求的服务拆解为相应的多个不同的业务逻辑,传到业务逻辑层进行处理。就SOA这种面向服务的体系结构中重要的特点就是客户层和业务逻辑层存在了一个服务层,客户层在进行服务调用的时候并不是直接与业务逻辑层进行通信,而是通过服务层完成他的需求 二:WCF当中...阅读全文

posted @ 2012-04-23 11:57 从小就犯困 阅读(297) 评论(4) 编辑

2012年4月20日

一步一个脚印学习WCF系列之WCF概要—WCF服务的创建与调用HelloWorld实例,通过配置文件方式(六)

摘要: 阅读目录 一:前言 二:配置工作 三:通过元数据生成代理和配置文件 一:前言 . 这篇文章是与《一步一个脚印学习WCF之WCF概要—WCF服务的创建与调用HelloWorld实例,通过编码方式(四) 》一文相对比写的,如果其中有不明白的情参照链接文章。 二:配置工作 . 在Host工程里面为我们的Host这一端添加了一些配置,这个配置有两个方面,一个是方面关于Service的配置,也就是我们我们这个Host里面加载的Service的配置。另外一个方面是关于Host里面某些特定Service行为的配置。 在Host这一端我们来看配置文件 1:Serv...阅读全文

posted @ 2012-04-20 21:16 从小就犯困 阅读(259) 评论(0) 编辑

2012年4月16日

ASP.NET温故而知新学习系列之ASP.NET多线程编程—多线程实现数组排序(十)

摘要: 阅读目录 一:前言 二:多线程实现数组排序 一:前言 数组大小是计划对多少个数组元素进行排序,线程个数是你计划用多少个线程进行排序操作 二:多线程实现数组排序 private int[] array; private DateTime StartTime; private DateTime EndTime; private static volatile bool swaped = true; private static long threadCounter = 0; private static volatile string strng = ""; protected阅读全文

posted @ 2012-04-16 14:15 从小就犯困 阅读(193) 评论(0) 编辑

2012年4月9日

ASP.NET温故而知新学习系列之ASP.NET多线程编程—异步编程(九)

摘要: 阅读目录 一:同步处理 二:异步处理 三:异步委托 四:通过委托同步调用方法 五:通过委托异步调用方法 一:同步处理 一个同步操作会阻塞整个当前的进程,直到这个操作完成才能执行下一段代码 二:异步处理 不会阻塞启动操作的调用线程,调用程序必须通过轮流检测,或者等待完成信号来发现调用的完成 三:异步委托 . 异步委托通过以异步方式调用同步方法的能力,在《同步调用WebService和异步调用WebService》一文中,里面也讲过了,同样一个Web服务,只是因为调用的方式不同,就成了同步调用和异步调用了,同步就是直接调用 . 当同步调用一个委托时,调用方法直接...阅读全文

posted @ 2012-04-09 19:04 从小就犯困 阅读(208) 评论(0) 编辑

设计模式原则—合成/聚合复用原则(四)

摘要: 阅读目录 一:合成/聚合复用原则 二:什么是合成? 三:什么是聚合? 四:为什么尽量不要使用类继承而使用合成/聚合? 五:合成/聚合复用原则结构图 一:合成/聚合复用原则 尽量使用合成/聚合,尽量不要使用类继承 二:什么是合成? . 合成表示一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样,打个比方:人有两个胳膊,胳膊和人就是部分和整体的关系,人去世了,那么胳膊也就没用了,也就是说胳膊和人的生命周期是相同的 . 合成关系用实心的菱形+实线来表示 三:什么是聚合? . 聚合表示一种弱的拥有关系,体现的是A对象可以包含B对象,但是B对象并不是A对...阅读全文

posted @ 2012-04-09 13:18 从小就犯困 阅读(168) 评论(0) 编辑

2012年4月5日

C#温故而知新学习系列之.NET框架高级特性—如何在.NET框架中自定义属性类?(三)

摘要: 阅读目录 一:属性 二:自定义属性类BookAttribute实例 . 属性是由属性类来实现的,向上篇文章《C#温故而知新学习系列之.NET框架高级特性—.NET框架中自身提供的属性(二)》我们讲的Obsolete一样,我们还可以自定义属性类,属性类是由System.Attribute派生而来的 . 在C#中为了方便起见,使用自定义属性时可以省略属性名后面的Attribute,比如:下面讲到的[BookAttribute("自定义属性类")]可以改写为[Books("自定义属性类")] . 自定义属性类的特点 1:使用AttributeUsage属性可以阅读全文

posted @ 2012-04-05 11:24 从小就犯困 阅读(212) 评论(0) 编辑

C#温故而知新学习系列之.NET框架高级特性—.NET框架中自身提供的属性(二)

摘要: 阅读目录 一:特性 二:如何指定属性? 三:.NET框架提供了哪些内置属性? 四:实例 一:特性 . C#允许在类和类成员上声明特性,这些特性其实也是个类,可以在运行时解释类和类成员的行为,这个特性我们也称之为属性Attribute . .NET框架提供的内置属性比如:Obsolete是一种特殊的用以声明式的编程机制,其类型是一族继承自System.Attribute的类型,在编译时,这些.NET内置属性会被写入元数据中,以供程序运行或者反射使用 . 允许在其上面声明属性的类型有 1:类和类成员 2:结构 3:接口和接口成员 4:枚举和枚举成员 5:委托 二:如...阅读全文

posted @ 2012-04-05 09:44 从小就犯困 阅读(156) 评论(0) 编辑

2012年4月4日

C#温故而知新学习系列之.NET框架高级特性—概述.NET框架中的反射(一)

摘要: 阅读目录 一:什么是元数据? 二:概述.NET框架中的反射 一:什么是元数据? 元数据,就是描述数据的数据,它存储在PE文件中,PE文件由IL代码和元数据组成,元数据为.NET提供了丰富的自我描述特性,它使得开发人员可以在代码运行时获得组件的类型等信息 二:概述.NET框架中的反射 . 反射是.NET框架中最独特的一个特点,这一点在其他技术框架中都没有对应的概念,反射在.NET框架中的地位非常重要,正是存在元数据等信息,才构成.NET系统运行的基础,元数据是反射机制能够动作的基石,元数据存储了类型内部的所有信息,因此可以在.NET框架中运用反射机制可以动态的分析程序集并且使用其...阅读全文

posted @ 2012-04-04 20:37 从小就犯困 阅读(182) 评论(0) 编辑

C#温故而知新学习系列之面向对象编程—接口和抽象类的区别是什么?(十八)

摘要: 阅读目录 一:前言 二:接口和抽象类的区别是什么? 一:前言 在面向对象编程中,抽象是指定继承者或者实现者必须遵循的一个协定,比如:一个类如果继承或者实现一个接口,那么该类就必须实现该接口的所有成员,接口就是对类的抽象,类必须遵循实现接口所有成员的协定 二:接口和抽象类的区别是什么? 接口和抽象类型是用于在面向对象编程中实现抽象的两种机制,那么在面向对象设计时,什么情况下使用接口实现抽象?什么情况下又使用抽象类型实现抽象呢? 1:接口不能提供成员的实现细节,而抽象类型可以提供成员的实现细节,也就是说接口中的所有方法必须是抽象的,像下面的InserUser()和IGetName...阅读全文

posted @ 2012-04-04 16:56 从小就犯困 阅读(42) 评论(0) 编辑

2012年3月31日

通过SOAPHeader增强WebService的安全性

摘要: 阅读目录 一:前言 二:SOAPHeader实现身份验证步骤 三:通过SOAPHeader实现身份验证步骤实例 一:前言 在互联网上,调用WebService往往需要进行身份验证,我们的WebService不可以让任何人都能够调用的,一般能调用我们的WebService的不是我们的客户,就是我们的合作方,调用WebService时我们需要身份验证,只有通过身份验证的用户才能调用相应的WebService资源,我们可以通过SOAPHeader自定义的身份验证方式实现验证 二:SOAPHeader实现身份验证步骤 1:自定义一个类比如CustomSOAPHeader,该类继承自S...阅读全文

posted @ 2012-03-31 16:17 从小就犯困 阅读(70) 评论(0) 编辑

2012年3月30日

同步调用WebService和异步调用WebService

摘要: 阅读目录 一:同步调用 二:异步调用 三:同步调用WebService 四:异步调用WebService 一:同步调用 一个同步操作会阻塞整个当前的进程,直到这个操作完成才能执行下一段代码 二:异步调用 不会阻塞启动操作的调用线程,调用程序必须通过轮流检测,或者等待完成信号来发现调用的完成 三:同步调用WebService 同步调用WebService就是我们平常的调用的写法 1:AsynCall.asmx的AsynCall.cs代码 /// <summary> /// 根据学生姓名得到该学生的成绩 /// </summary> /// <param nam...阅读全文

posted @ 2012-03-30 14:39 从小就犯困 阅读(282) 评论(1) 编辑

2012年3月29日

WebService中方法的重载

摘要: 阅读目录 一:WebService中的方法是否允许重载? 二:为什么WebService中不支持方法的重载? 三:如何解决WebService中方法的重载? 一:WebService中的方法是否允许重载? WebService中不支持使用方法的重载,从图片我们能够得出结论 [WebMethod] public string GetName() { return "从小就犯困"; } [WebMethod] public string GetName(string strValue) { return strValue; } 二:为什么WebServ...阅读全文

posted @ 2012-03-29 16:37 从小就犯困 阅读(247) 评论(2) 编辑

2012年3月28日

ASP.NET温故而知新学习系列之ASP.NET多线程编程—.NET下的多线程编程Thread中委托的使用(六)

摘要: 阅读目录 一:实例 一:实例 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace ThreadDelegate class Program { static void Main(string[] args) { Thread thread = SimpleThread.CreateThread(new SimpleThread.MyDelegate(User.DelegateMethod...阅读全文

posted @ 2012-03-28 15:21 从小就犯困 阅读(163) 评论(0) 编辑

ASP.NET温故而知新学习系列之ASP.NET多线程编程—.NET下的多线程编程临界区(八)

摘要: 阅读目录 一:临界区概述 二:临界区操作 三:通过lock关键字设置临界区 四:通过Interlocked类设置临界区 五:通过Monitor类设置临界区 一:临界区概述 在某个时间段内可以有两个线程同时执行,那么两个线程访问的要都是同一个数据的话,那么这种情况下会出现一些不必要的事情,比如:我的银行账户总额有5000,某天我拿着存折去柜台取4000准备交物业费,媳妇拿着银行卡去取2000给孩子交学费,当某一个时间点上,我俩同时取钱,那么首先银行是这样操作的,先判断账户余额大于我要取的4000,好了给我吐出来4000大洋,因为是同时进行,媳妇那边也是先判断账户余额大于她要取的...阅读全文

posted @ 2012-03-28 15:09 从小就犯困 阅读(107) 评论(0) 编辑

2012年3月25日

ASP.NET温故而知新学习系列之ASP.NET多线程编程—.NET下的多线程编程应用程序域(七)

摘要: 阅读目录 一:应用程序域概述 二:应用程序域和线程的关系 三:线程跨越多个应用程序域实例 四:运行效果 一:应用程序域 . 在.NET中有个特点,在.NET中有个CLR,在操作系统和我们编程环境之间有个CLR,操作系统和CLR之间有种隔离,操作系统和运行库会在应用程序间提供某种隔离,为了确保一个应用程序的代码不会对其他不相关的应用程序产生影响,这种隔离是必须的 . .NET中新增了一个隔离层称为应用程序域,它是进程内部一个逻辑独立的部分,也就是说两个进程之间为了让它们不产生一些安全性的问题,一个应用程序出现错误,不会影响其他的应用程序,举个例子:在Windows下经常有某个应...阅读全文

posted @ 2012-03-25 19:38 从小就犯困 阅读(145) 评论(0) 编辑

2012年3月22日

中国程序员的最后归宿

摘要: 一:技术路线 适合喜欢技术,对技术狂热的人,愿意一辈子去搞技术的人,当然这需要在工作及平时的生活中不断的学习和研究,虽然系统分析师和架构师的工作令人羡慕,也是很多公司挖掘的对象,虽然国内的系统分析师和架构师比较抢手,但是要成为真正的这个角色还是相当困难的,自己必须拥有很强的专业技能和系统分析能力,另外,国内对这类职位的需求量不是很大,只有实力雄厚的公司才会设置系统分析师和架构师的职位 二:管理路线 这也是绝大部分程序员的要走的路线,当程序员到达高级程序员后,向管理方面转变,经过开发小组负责人,工程负责人,奋斗到项目经理,这种路线适合有一定沟通能力和协调能力的人,走向管理并不是放弃...阅读全文

posted @ 2012-03-22 15:56 从小就犯困 阅读(385) 评论(1) 编辑

2012年3月17日

ASP.NET温故而知新学习系列之ASP.NET多线程编程—.NET下的多线程编程委托使用的实例(五)

摘要: 阅读目录 一:委托与线程 二:委托使用的实例 三:运行效果 一:委托与线程 .委托基础 -委托使用的目的:把函数作为参数传递 -类似于C++中的函数指针,和函数指针是有区别的:函数指针只能引用静态方法,而委托可以引用静态方法,也可以引用实例方法,当委托引用实例方法时,委托不仅存储对方法入口点的引用,还存储对调用该方法的实例引用 -是事件处理的基础 -委托声明:delegate int MyDelegate (int i); int表示函数返回类型,MyDelegate表示委托名称,i表示函数参数 二:委托使用的实例 1:声明委托 delegate int MyDel...阅读全文

posted @ 2012-03-17 20:41 从小就犯困 阅读(132) 评论(0) 编辑

ASP.NET温故而知新学习系列之ASP.NET多线程编程—.NET下的多线程编程利用thread.Start()传递参数(四)

摘要: 阅读目录 一:前言 二:实例 三:运行效果 一:前言 前一节说了我们创建线程的参数是一个函数,当新的线程启动的时候,它就会执行这个函数,这个函数是没有任何参数的,且没有返回值的,那么新的需求来了,如何调用一个有参数的函数呢?我们上节是利用构造函数传递参数的,这节我们利用其它的方法实现 二:实例 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace _2_ThreadArgs { ...阅读全文

posted @ 2012-03-17 20:13 从小就犯困 阅读(122) 评论(0) 编辑

2012年3月13日

ASP.NET温故而知新学习系列之委托与事件—服务器端添加客户端事件(三)

摘要: 阅读目录 一:为什么要添加客户端脚本? 二:ASP.NET服务器控件可以发送两种客户端脚本 三:ASP.NET中发送客户端脚本 四:ASP.NET中发送HTML属性 五:实例 一:为什么要添加客户端脚本? . 尽管从技术角度讲ASP.NET服务器控件的所有功能都可以在服务器端执行,我们知道因为服务器控件都是在服务器端执行的,所以每次执行都会有一个往返,会增加服务器的压力,在某些情况下我们还可以添加客户端脚本,服务器只有一个,浏览器客户端可以有无数个,如果把无数个浏览器客户端都执行客户端脚本,会极大的减轻服务器的压力,通过添加客户端脚本可以大大增强服务器控件的可用性,比如:AS...阅读全文

posted @ 2012-03-13 17:35 从小就犯困 阅读(199) 评论(0) 编辑

仅列出标题  下一页

导航

统计

公告