step_by_step_webapi执行时间

  做开发没多久,这次单位让我做对TB 的机票运价直连接口,其实主要是去sabre gds带上相应的参数去做查询,验仓,下单操作,这次用到asp.net boilerplate 项目模板搭建,用它的动态webapi (ApplicationService)开发对TB的rest 接口 ,起初在此项目之前对此gds已经完成了通用访问的方法实现,并封装成了webservice 已被其他程序调用,实现的方法是用Microsoft Visual Studio Tools  XSD.exe 对请求和返回的xml进行转换

>xsd.exe backdata.xml

>xsd.exe /c backdata.xsd

结果就是如果幸运,转换成功,把生成的.cs文件丢到项目里,每次请求和响应都对此类做转换,可是....我并不总是幸运的,而且xsd工具生成的总是数组,而且任何元素节点都是数组,操作起来实在是麻烦,之间在xml2class的时候也会出现这个问题,大致是 ‘无法将类型**[][]转成**[]‘ ,后来google了好久,找到方法解决 ----- 把所有的[][] 改成[] ,完成转换。

后来在网上找到了一个工具xsd2code++  可以将xsd文件生成类,而且可以把那该死的[]生成 List<> ,IList<> 等等 ,至于其他的功能还在探索,但是比较不爽的是它需要license key ,可以适用一段时间,过后就出现下边这样....

因此我换了好多邮箱去申请license key ....

  虽然 xml2class 的问题可以得到一些解决,但是并不是所有的xml都可以去完成反序列化的操作,没办法  ...简单(很不简单)而又粗暴(一点也不粗暴)的方式通过 xml 字符串去拼凑请求,返回的xml如果不能处理,就要适用linq2xml 了,用这种东拼西凑的方式完成的这个项目,其实总结起来因为自己掌握的技术不全面(后来才发现他们提供的是soap api,wsdl 可以解决一切)。

  那么 这个 运价直连接口 需要调用之前的 大坑 ,好吧 .....引用webservice 到abp项目 ,写好文档上的参数对应的DTO 和相应的验证,操作着由公共方法还回的 ‘大对象‘ ,实在是...做完之后,要求我把查询的响应的时间记录下来,这会问题来了,如何记录呢?先用着不知是否可行的办法,将时间的记录值放到application 里面,开始和结束计算时间差...。

  其实做了一段时间开发之后才会发现,遇到问题基本的解决办法是学会如何google,后来在stackoverflow上找到了该问题,而且大神 也详细的说明了"asp.net webapi 接口执行时间监控" 里边用的方法都是StopWatch

通过MSDN了解过他的基本用法  :Provides a set of methods and properties that you can use to accurately measure elapsed time.

属性:

方法:

   

时间: 2024-10-07 03:25:41

step_by_step_webapi执行时间的相关文章

PHP中测试程序执行时间

通常为了估测某段较复杂的程序的执行时间或比较多种方案中个方案的执行效率,我们需要计算程序执行所耗费的时间,代码如下: $start_time = microtime(true);          //获取程序开始执行的时间 $end_time = microtime(true);            //获取程序执行结束的时间 $exec_time = $end_time - $start_time;   //计算差值 echo $exec_time; PHP中测试程序执行时间,布布扣,bu

python限制函数执行时间

from:https://stackoverflow.com/questions/366682/how-to-limit-execution-time-of-a-function-call-in-python当有些函数执行时间过长,影响整个程序运行时,可以使用此方法进行限制,超时会报错. from __future__ import with_statement # Required in 2.5 import signal from contextlib import contextmanag

js执行时间(调试)

js 执行时间 function use_time(func) {    var start = new Date().getTime(); console.log(start);        func(); var end = new Date().getTime(); console.log(end);            console.log(end-start+' ms');} 2. consoleconsole.log(console); _prototype console.t

使用T-SQL找出执行时间过长的作业

原文:使用T-SQL找出执行时间过长的作业     有些时候,有些作业遇到问题执行时间过长,因此我写了一个脚本可以根据历史记录,找出执行时间过长的作业,在监控中就可以及时发现这些作业并尽早解决,代码如下:   SELECT sj.name , sja.start_execution_date,DATEDIFF (SECOND ,sja.start_execution_date,GETDATE() ) AS ExecutedMin,ja.AvgRuntimeOnSucceed FROM msdb.

C#接口性能测试--计算执行时间

在做程序的时候,肯定会遇到给他人提供接口,或者使用他人接口的地方.对于一个开发者来说,不管是提供给他人的接口还是,自己提供给他人的接口.都要进行测试. 对于很多的测试,需要详细的记录 该接口的时间范围,比如 该接口的性能为   10ms 100ms的地方. 既然要了解每个接口的性能,该测试不是为了 测试接口的正确性,只是在测试正确性的时候 同时,记录一下该接口的执行时间. 最近,因为要开发一个新项目,而且新项目中会用到旧系统的接口.所以需要对旧系统提供的接口进行测试,进而决定,里面的接口是否需要

servlet 的filter,日志文件记录执行时间

import java.io.IOException; import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.ser

统计代码执行时间,使用Stopwatch和UserProcessorTime的区别

当我们需要统计一段代码的执行时间,首先想到的可能是Stopwatch类.在这里,先暂不使用Stopwatch,自定义一个统计代码执行时间的类,大致需要考虑到: 1.确保统计的是当前进程.当前线程中代码的执行时间.2.在统计执行过程中,不允许有垃圾回收.即在统计代码执行时间之前,就让GC完成垃圾回收. 举例:统计显示一个数组元素所消耗的时间 class Program { static void Main(string[] args) { int[] arrs = new int[10000];

你用什么方法检查 PHP 脚本的执行效率(通常是脚本执行时间)和数据库 SQL 的效率(通常是数据库 Query 时间), 并定位和分析脚本执行和数据库查询的瓶颈所在?

1.PHP执行时间: $begin=microtime(true); //获取程序开始执行的时间 // some code here 待执行的代码 $stop=microtime(true); //获取程序执行结束的时间 list($m0,$s0)=explode(" ",$begin); list($m1,$s1)=explode(" ",$stop); $runtime=($s1+$m1-$s0-$m0)*1000; echo '<br />当前脚本

awk 分析web日志(页面执行时间)

shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询) 当服务器压力比较大,跑起来很费力时候.我们经常做站点页面优化,会去查找那些页面访问次数比较多,而且比较费时. 找到那些访问次数高,并且比较耗时的地址,就行相关优化,会取得立竿见影的效果的. 下面是我在做优化时候,经常用到的一段shell 脚本. 这个也可以算是,统计web页面的slowpage 慢访问页面,象mysql slowquery . 以下是我的:nginx 配制 log_format main '$remote_a