摘要: CLR异常无法跨越服务边界,所有的异常都被封装(序列化)为SOAP Fault,可以让所有平台的用户接收到.SOAP1.1只有Body.1.2中含有Header+Body.未捕获异常异常会从逻辑层传递到服务层,为了保护Server,不会把异常的详细信息返回给客户端,而只会有一个通用的SOAP Fau... 阅读全文
posted @ 2014-06-10 18:07 robynhan 阅读(389) 评论(0) 推荐(0) 编辑
摘要: WSDL:=契约+策略.契约主要关注操作的消息类型.策略为操作描述协议.当契约变化时,使用老契约的客户应能够继续使用,并且使用新的契约内容.一旦发布.契约就确定了.但是,策略是可以改变的.如果客户端可以动态的处理变化,那么改变策略就是安全的.服务契约允许多余,缺失的参数数量.分别会被忽略,赋予默认值... 阅读全文
posted @ 2014-06-10 17:58 robynhan 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 消息交换的双方,为了进行消息交换,而定义的一些数据交换规则,称之为契约.契约只约束规则,不管实现.契约对客户端和服务器的要求.服务器:定义和实现契约.构建ServiceHost实例,然后暴露EndPoint.同时打开通信信道.客户端:需要服务契约的一个副本和关于EndPoint的信息.为特定的End... 阅读全文
posted @ 2014-06-10 16:43 robynhan 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 80X86上的函数/过程调用.call指令来调用过程;ret指令(return)返回调用程序.过程如下:1)确定执行完过程后要返回的指令地址(返回/链接地址).2)将该地址保存到已知位置.在没有递归时,可将其放在任意位置.放到内存中的栈是最常见的,执行过程:call->push/ret->pop优点... 阅读全文
posted @ 2014-06-10 11:23 robynhan 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 本文介绍从源文件开始到目标代码生成的过程.首先,是我们每天都要接触的源文件.源文件是由纯ASCII或者其他字符集组成的文本,由程序员使用文本编辑器创建.它有以下的几种形式纯文本.好处是易于维护.并且可以使用处理文本文件的程序来处理源文件.这个就是我们最常见的源代码形式了.甚至可以使用notepad来... 阅读全文
posted @ 2014-06-10 11:07 robynhan 阅读(2938) 评论(1) 推荐(1) 编辑
摘要: 三元运算符Vb中的iif(expr,truepart,falsepart)和C#中的expr?truepart:falsepart.无论expr的结果是true还是false,true/falsepart都会被执行.所以不能写类似于obj!=null?obj.name:string.empty.tr... 阅读全文
posted @ 2014-06-10 09:38 robynhan 阅读(119) 评论(0) 推荐(0) 编辑