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.
属性:

方法:

step_by_step_webapi执行时间的更多相关文章
- EntityFramework的多种记录日志方式,记录错误并分析执行时间过长原因(系列4)
前言 Entity Framework 延伸系列目录 今天我们来聊聊EF的日志记录. 一个好的数据库操作记录不仅仅可以帮你记录用户的操作, 更应该可以帮助你获得效率低下的语句来帮你提高运行效率 废话不 ...
- 使用T-SQL找出执行时间过长的作业
有些时候,有些作业遇到问题执行时间过长,因此我写了一个脚本可以根据历史记录,找出执行时间过长的作业,在监控中就可以及时发现这些作业并尽早解决,代码如下: SELECT sj.name , ...
- Spring AOP实例——异常处理和记录程序执行时间
实例简介: 这个实例主要用于在一个系统的所有方法执行过程中出线异常时,把异常信息都记录下来,另外记录每个方法的执行时间. 用两个业务逻辑来说明上述功能,这两个业务逻辑首先使用Spring AOP的自动 ...
- ASP.NET Web API 接口执行时间监控
软件产品常常会出现这样的情况:产品性能因某些无法预料的瓶颈而受到干扰,导致程序的处理效率降低,性能得不到充分的发挥.如何快速有效地找到软件产品的性能瓶颈,则是我们感兴趣的内容之一. 在本文中,我将解释 ...
- PHP通过ini_set()来设置显示错误信息和执行时间
PHP的 ini_set函数是设置选项中的值,在执行函数后生效,脚本结束的时候,这个设置也失效.不是所有的选项都能被改函数设置的.具体那些值能够设置,可以查看手册中的列表. 就是能够设置php.ini ...
- crontab执行时间和系统时间不一致
最近发现一个非常奇怪的问题,症状如下: crontab 定时任务 配置时间 是 10 5 * * * (每日凌晨5点10分执行) 运行脚本时间却是 18:10左右 Dec 24 05:10:01 ht ...
- DebugLog 打印方法执行时间
DebugLog 打印方法执行时间 用于方便调试性能问题的打印插件.给访法加上@DebugLog,就能输出该方法的调用参数,以及执行时间. Project gradle配置 // Top-level ...
- php: 不能嵌套try-catch-fnally,否则执行时间过长
php不能try-catch-fnally里面在嵌套try-catch-fnall,否则本来执行时间不长的程序,会被执行更长时间,这是php的bug吗? 如: try{ 代码块 }catch (\Ex ...
- Oracle执行时间与sql格式
今天碰到一个很奇怪的问题,直接在eclipse中将sql拷出,然后直接粘贴复制在数据库中就会执行的非常慢,但是在利用plsql对sql语句进行格式整理之后,执行的速度就非常的快,之后我where条件中 ...
随机推荐
- WIFI 802.11 a/b/g/n/ac
802.11 a/b/g/n/ac FHSS: Frequency-hopping spread spectrum (FHSS) is a method of transmitting radio s ...
- Git 2.x 中git push时遇到 push.default 警告的解决方法
近在学习使用 git&GitHub,然后今天遇到了一个问题.在执行 git add 和 git commit 操作之后,再进行 git push 操作,出现了如下提示: $ git push ...
- python3中的编码
python2字符串编码存在的问题: 使用 ASCII 码作为默认编码方式,对中文处理不友好 把字符串分为 unicode 和 str 两种类型,将unicode作为唯一内码,误导开发者 python ...
- sql server 作业收缩数据库
USE[master] GO ALTER DATABASE PayFlow2 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE PayFlow2 S ...
- Java Web参考资料
Maven Maven学习 Eclipse 使用Maven 构建Web项目的最佳方式:总的来说就是先要修改项目的Project facets来更改Java版本.Servlet版本. 错误Cannot ...
- [蓝桥杯]ALGO-181.算法训练_According to Bartjens
问题描述 计算器和计算机的大量普及也有其弊端.即便是受过专业技术训练的学生们也很可能缺乏计算能力.由于电脑的大量使用,很多人无法心算出7*8这样的算式,甚至是用纸和笔也算不出13*.不过谁在意呢? B ...
- 注解:大话AOP与Android的爱恨情仇
转载:大话AOP与Android的爱恨情仇 1. AOP与OOP的区别 平时我接触多的就是OOP(Object Oriented Programming面向对象).AOP(Aspect Oriente ...
- python数据处理 pandas用法大全
一.生成数据表 1.首先导入pandas库,一般都会用到numpy库,所以我们先导入备用: import numpy as np import pandas as pd 1 2 2.导入CSV ...
- Oracle 查询合并列
在ORACLE 查询时,有时要将多个列合并成一行,其方法如下: 1. decode 函数 decode 函数的语法为: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省 ...
- java 中文繁简体转换工具 opencc4j
创作缘由 对于中文的繁简体转换是一种很常见的需求. 但是很多工具类都是简单的做个映射.(使用map,集合,properties)等. 存在一个严重的问题:特殊词组 的转换可能存在问题. OpenCC ...