最近在工作中需要用到在后台代码中触发Jenkins任务的构建,于是想到Jenkins是否有一些已经封装好的API类库提供,用于处理跟Jenkins相关的操作.下面就简单介绍下我的发现. Linux Curl 首先找到的是Jenkins官网的wiki:https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API 在官网首页就有关于触发job的方法: 个人尝试了下,该方式是通过命令行直接调curl去发POST请求的方式来触发job的构建.…
Log4Net应该可以说是DotNet中最流行的开源日志组件了.以前需要苦逼写的日志类,在Log4Net中简单地配置一下就搞定了.没用过Log4Net,真心不知道原来日志组件也可以做得这么灵活,当然这系列的教程讲的是Log4Net的应用.学习完这系列的教程,你可以实现如下图一样整洁.醒目的日志文件.教程中的每一篇文章都有可以运行的例子,并且教程里面的例子基本上都是典型的应用,你可以直接拿来用.我整理了一个Log4Net的配置文件Log4Net.config和一个日志帮助类LogHelper,你可…
错误信息: "RazorEngine.Templating.TemplateCompilationException"类型的异常在 RazorEngine.NET4.0.dll 中发生,但未在用户代码中进行处理 其他信息: Unable to compile template. "object"不包含"username"的定义,并且找不到可接受类型为"object"的第一个参数的扩展方法"username"…
之前通常都是使用SQL直接从数据库中取出表1和表2关联查询后的数据,只需要用一个JOIN就可以了,非常方便.近日遇到一种情况,两个表中的数据已经取到代码中,需要在代码中将这两个表关联起来,并得到它们横向拼在一起之后的完整数据. 如:表1--商品信息表(dtHead),存放商品的ID和名称,表结构和数据如下: 表2--商品数量及金额表(dtTail),存放商品的数量.金额,表结构和数据如下: 现在要得到表1和表2横向拼接起来的表(DtAll),结果如下: 在C#代码中,要将这两个表拼接起来,有很多…
(转自:http://blog.csdn.net/reille/article/details/7161942) 作者:reille 本博客网址:http://blog.csdn.net/reille/,转载本博客原创文章请注明出处. 本文内容概要: 代码中特殊的注释技术--TODO.FIXME和XXX的用处. 更多请关注:http://velep.com/ --------------------------------------- 前言:今天在阅读Qt  Creator的源代码时,发现一些…
不管用什么框架,学什么东西,最初的想法还不是尽快地用上这个框架,所以我们在这个章节还是不打算介绍具体配置节的应用,而是直接给出一个经典的使用样例,让你尽快上手.即使你对Log4Net的配置不熟悉也完全没有关系. (下面的文章假定你已经看过了第一篇,当然在有的操作中,我还是会简单地重复第一篇,以便加深你的记忆) 先说说这篇教程的思路,我们打算使用Log4Net,首先必须先引入Log4Net的库:然后我们要对Log4Net进行一些配置:最后,我们会在代码里面使用它. 1.引入Log4Net.dll组…
一个完整的配置文件的例子如下所示,这个是”在C#代码中应用Log4Net(二)”中使用的配置文件. <log4net> <!-- 错误日志类--> <logger name="logerror"> <level value="ALL" /> <appender-ref ref="ErrorAppender" /> </logger> <!-- 信息日志类 -->…
Angularjs内置的过滤器(filter)为我们的数据信息格式化提供了比较强大的功能,比如:格式化时间,日期.格式化数字精度.语言本地化.格式化货币等等.但这些过滤器一般都是在VIEW中使用的,比如格式化时间/日期的VIEW视图代码: <div ng-app> <p> <label>Select a date</label> <input type="date" id="date" ng-model=&quo…
一项新技术或者一个新特性,只有你用它解决实际问题后,才能真正体会到它的魅力,真正理解它.也期待大家能够多分享解一些解决实际问题的内容. 在我们遭遇“黑色30秒”问题的过程中,切身体会到了异步的巨大作用(详见从ASP.NET线程角度对“黑色30秒”问题的全新分析),于是开始逐步地用async/await改造现有代码. 今天早上在将一个MVC Controller中的Action改为异步的时候突然发现——其中有7个方法调用可以并行执行. public async Task<ActionResult>…
程序代码中退出函数exit()与返回函数return ()的区别   exit(0):正常运行程序并退出程序:   exit(1):非正常运行导致退出程序:   return():返回函数,若在主函数中,则会退出函数并返回一值.  解析: 1. return返回函数值,是关键字: exit 是一个函数. 2. return是语言级别的,它表示了调用堆栈的返回:而exit是系统调用级别的,它表示了一个进程的结束. 3. return是函数的退出(返回):exit是进程的退出. 4. return是…