摘要:
HTTP本身是无状态的.这符合HTTP协议设计的目的.客户端只是简单地向服务器请求某种资源.两者都没有必须记录彼此过去的行为,每一次请求之间都是独立的.为了保存状态.在客户端使用Cookie,在Server端使用Session.同时,服务器端状态保存方案在客户端也需要保存一个标识.所以,Sessio... 阅读全文
摘要:
触发器的作用触发器是一种特殊的存储过程,主要是通过事件来触发而被执行的。用以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发.什么是存储过程?用什么来调用?存储过程是... 阅读全文
摘要:
Win实际上将CLR作为一个COM服务器实现在一个DLL内,即为CLR定义了标准的COM接口,并为该接口和COM服务器分配一GUID,安装FrameWork时表示CLR的COM服务器被注册到注册表内.任何Win APP都可以寄宿CLR.一个PC可安装多个版本的CLR,但是只有一个版本(最新版本)的M... 阅读全文
摘要:
当某线程触发GC时,任何线程不能再访问任何的对象.在GC执行时,可能会修改对象的地址.GC执行时,大多使用劫持法,将所有的线程挂起.对于含有Loop,且Loop内不再调用其它方法时.会生成一个编译时表.当线程的指针指令执行到该处时,会认为到达了一个安全点,线程可以被挂起.对于其它方法,GC会劫持线程... 阅读全文
摘要:
执行异步操作CLR使用了WIN的线程处理能力,但保留了与其分离的权利.某些时候CLR的线程与Win的线程不是完全的匹配.线程的系统开销较大,应限制其数量.创建:分配并初始化一线程内核对象,保留1M的地址空间(用户模式),12KB的堆栈(内核模式),然后调用DLL函数通知进程中所有DLL操作来通知所有... 阅读全文
摘要:
经过编译后,程序变为托管模块(=IL+元数据(描述数据信息)).托管模块需要CLR才能运行.然后,将若干个托管模块合并成Assembly.若干个文件/资源的逻辑分组.最小的可重用控制单元.其含有清单来描述其含有的文件集.所以具有自描述性.加载CLR:在\System32下有MSCoreEE.dll说... 阅读全文
摘要:
自动属性.之前定义属性的步骤: private filed + public property.现在的形式:int id{get;set;}.可以分别设置get/set的保护级别(protected/public/private/internal).系统自动生成一个private的字段,并暴露响应的... 阅读全文
摘要:
IIS 5.X中的ASP.NET实现了Web Server和ASP.NET App的分离.IIS作为Web Server运行在InetInfo.exe进程上.该进程是非托管的本地进程.ASP.NET App运行在aspnet_wp的Worker进程上.该进程初始化时会加载CLR,所以是一个托管进程.... 阅读全文
摘要:
最近在总结项目的自动测试相关的技术和知识点.我们项目的自动测试,能够在进行功能测试的同时,一并记录各个功能的CPU和Memory占用情况.此篇博文介绍了我们做的性能监控的程序和涉及到的技术.这里,就做一个简易版的性能监控工具.首先,上图.从运行程序上看,用户需要输入被监控的机器名,进程名,是否监控C... 阅读全文
摘要:
服务契约的方法重载,会在装载宿主时,抛出异常.解决是在操作契约上Name设置为不同值,但是生成的代理会把Name的名称作为方法的名称,不过我们可以手动的修改代理类,使得方法名与服务声明的名称一样.契约的继承: 服务契约是不可继承的. 客户端在导入服务契约时,会取消服务契约的继承层级,并利用Opera... 阅读全文