摘要:
我们都知道,message是wcf通信框架进行通信的最基本的单位,但是wcf开发人员其实根本不需要直接与message打交道,一样能够写好wcf相关的程序.这是因为整个框架都为我们做好了一切,当客户端创建了连接服务端的通道之后,通过客户端的代理想服务端发送消息的时候,wcf基础结构就开始忙着在背后创建,发送,接受处理message对象的工作.发送消息的时候其实是要经历过几次转换的,从发送者角度来看包括:序列化和编码,序列化是把message对象转换为xml数据,编码是将xml数据转换为特定的数据格式,比如常见的二进制格式.从服务端的角度看正好相反所以,从今天晚上开始进入message对象的学习
阅读全文
posted @ 2012-09-26 23:14
HackerVirus
阅读(232)
推荐(0)
摘要:
随笔- 164 文章- 0 评论- 494《架构师》反思:软件架构设计最近在看《软件架构师教程》,今天就第五章《软件架构设计》总结一下,其中还有自己所联想到的。主要从以下几个方面来描述:软件架构ABSD架构模式DSSA架构评估软件架构架构的定义,在业界,目前主要分为两类:结构派 和 策略派。结构派认为架构是指软件中各构件的组织结构以及各构件之前的相互关系。策略派认为软件的架构设计是要为软件的每个重要的决择进行权衡,并作出最终决定。架构,作为系统中最重要的组成部分,对整个系统有着重要的作用:对于软件开发而言,首先,架构设计能使系统各方面质量达到预期的目标;其次,它能全过程指导开发、测试,并有效地
阅读全文
posted @ 2012-09-26 11:39
HackerVirus
阅读(337)
推荐(0)
摘要:
一、概述 Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分。由 .NET Framework 3.0 开始引入。 WCF的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和服务之间的消息。 WCF合并了Web服务、.net Remoting、消息队列和Enterprise Services的功能并集成在Visual Studio中。 WCF专门用于面向服务开发。二、基于Asp.net 的应用程序开发与面向服务开发 在基于Asp....
阅读全文
posted @ 2012-09-25 22:51
HackerVirus
阅读(197)
推荐(0)
摘要:
这是一篇翻译文章,原文说明了框架在开发过程中给使用带来的懒惰,不思维的弊病。文章来源:http://blog.8thlight.com/myles-megyesi/2012/09/12/why-frameworks.html===========正文开始我们是由于效率和易用性的考虑才产生框架。框架能节省开发时间。框架强制使用公共的约定,因此它能有效地解决一些共有的问题,比如页面渲染,assert判断,安全或者应用配置等。这些共有的问题有个共通的特性是会在每个web应用上都用到。框架是非常好的,它能让决定更连贯。框架能避免我们写一大堆自定义模块来实现这些性能,我们所需要做的就是将这些共用模块放在
阅读全文
posted @ 2012-09-25 22:50
HackerVirus
阅读(163)
推荐(0)
摘要:
1.引言Scheduled Timer将定时器Timer进行封装成ScheduledTimer,很多Timer暴露的成员,都以私有化,并将上一节中的定时器作业(TimerJob)进行了集成。2.ScheduledTimer代码很简单,直接上代码 public class ScheduleTimer { public IEventStorage EventStorage = new LocalEventStorage(); public event ExceptionEventHandler Error; private static Tim...
阅读全文
posted @ 2012-09-25 18:04
HackerVirus
阅读(367)
推荐(0)
摘要:
如果你开发过很多MS CRM的插件的话,相信你一定会发现,如果每一次开发插件都从头做起的话,你会做很多重复性的工作。如果你发现你每天做着重复性的工作,你就要考虑怎样才能将重复降到最低,理想的情况就是只做一次。开发CRM的插件(当然要使用Visual Studio)你需要做很多”准备性的工作”,比如添加引用,给插件签名。这些”准备性的工作”也就是重复性的工作,非常浪费时间。一个好的解决办法,就是创建一个你自己的插件模板。在这篇文章中,我为大家介绍两个方面的经验:一是如何建立一个CRM的插件,二是如何在Visual Studio中建立项目模板。我使用的是Visual Studio 2010。首先创
阅读全文
posted @ 2012-09-25 18:04
HackerVirus
阅读(202)
推荐(0)
摘要:
简介本文介绍net处理html页面元素的工具类(HtmlAgilityPack.dll)的使用,用途比较多的应该是例如采集类的功能,采集到的html字符串要怎样处理是一个头痛的问题,如果是截取就太麻烦了而且容易出错。所有就用到本文的第三方dll来处理了。下载下载地址:http://htmlagilitypack.codeplex.com/点击“download”按钮直接下载。使用1.添加HtmlAgilityPack.dll引用(引用类using HtmlAgilityPack;)。2.简单根据html中input的id获取value代码如下:// 模拟用户请求WebClient webCli
阅读全文
posted @ 2012-09-25 18:03
HackerVirus
阅读(159)
推荐(0)
摘要:
前言:日常开发中如果一开始没有对系统进行比较好的规划那么容易出现两类问题且在版本发布中屡见不鲜,这两类问题是配置文件和数据连接,这里为大家分享一个监视数据库连接的组件,文末有代码示例下载。 一,解决方案图 DBConnectionManage.config: 配置文件,配置两个节点,一个是组件监视连接的最大数量一个是系统控制连接的有效时间 MConnectionWrap:这个是被监视对象的封装类,包括连接、过期时间、开启连接的业务类的监视器(GCHandle) DBConnectionMonitor:连接监视主类,提供添加监视对象到一个字典里,后台线程循环遍历字典去处理被监视的对象...
阅读全文
posted @ 2012-09-25 18:02
HackerVirus
阅读(167)
推荐(0)
摘要:
在希腊德尔斐的阿波罗神庙上,刻得着一句神秘的箴言:“认识你自己”。从某种程度上来说,我们都是自己的“最熟悉的陌生人”。认识自己的位置,是每个人获得成长的第一堂课。一个人的位置,对其言行的影响是至关重要的,俗话说:“屁股决定脑袋”,虽然听着粗俗,却饱含人生哲理。既然我们屁股在项目经理的位置上,就应该像项目经理一样去思考问题,做事情。一.项目经理的处境经过数年的打拼,怀着美好的向往,我们终于成了他——项目经理。然而,梦做到最真的时候,往往也是梦醒的时候。项目经理其实也是悲情人物。从“程序猿”到项目经理,可以说是刚出虎穴,又入狼窝。要知道,做一个合格的项目经理,比成为一个优秀的程序员,还要难得多。本
阅读全文
posted @ 2012-09-25 18:01
HackerVirus
阅读(247)
推荐(0)
摘要:
在我的博文里面关于分布式系统的数据一致性问题(二)里面主要介绍了数据分布的情况下保证一致性的情况,在第二篇文章里面,我这里提出了三个问题订单系统调用支付系统支付订单,支付成功,但是返回给订单系统数据超时,订单还是I(初始状态),但是此时会员帐户余额100,会员肯定会马上找京东骂京东,为啥不给老子发货,我都付钱了订单系统调用支付系统成功,状态也已经更新成功,但是通知仓库发货失败,这个时候订单是P(已支付)状态,此时会员帐户余额是100,但是仓库不会发货。会员也要骂京东。订单系统调用支付系统成功,状态也已经更新成功,然后通知仓库发货,仓库告诉订单系统,没有货了。这个时候数据状态和第二种情况一样。重
阅读全文
posted @ 2012-09-25 17:59
HackerVirus
阅读(228)
推荐(0)