简要的总结了一下Web services(web API) 性能优化基本规则,如下:
l 接口设计为“大块头”,减少往返
l 基于消息的编程,而不是远程过程调用(不是像类一样调用,如一个类有10个方法以,一个一个的调用)
l 使用XML 字符串作为参数(两端用schma来沟通和解析)
l 设计时尽可能设计为无状态的,保持高性能
l 对复杂的webmethod提供输入校验
l 考虑对webmethod的结果进行缓存
l 选择大数据包传送方式
l 避免使用本地webservice(本地优先使用面向对象或remoting
l 异步webmethods:不是调用方的异步,对调用方是透明的,如beginMyproc EndMyproc,调用时为Myproc,所以它的主要应用是webcontext与工作区交互时,节省工作区
l OneWay=true则性能高,客户端调用时非常快速(单工通讯)
l 最好将COM代码移植到.net
l 客户端异步调用,如上面不同一个HELLOWORLD方法除本身外,还会产生两个HellwordAsyn,HelloworldCompleted(需要new一个方法回调)
l 在winform时cookie的使用,需要用到一个cookieContinercc= new cookieContainner() t.cookiecontainer=cc
l 负向查询:如not in!= not exists等,可以参用LEFT、right JOIN然后判断ISNULL,查询效率要好的多
l Union会引发排序操作,消耗性能
l 临时表晚定义,早释放