今天推荐的文章会谈到一些让你工作更轻松的开源.NET函数库。

即使业界有时候认为.NET开源社区不太健康,很多开发团队都更多依赖于微软提供的东西来开发。不过最近在.NET世界中还是诞生了一些优秀和有意思的开源函数库。

thomasvm就在他的博文中推荐了一些比较有代表性的开源函数库。这些函数库都是解决一些比较通用的问题,具备良好的文档,并非是一个强制你遵循某种规则和代码结构的框架,可以很好地嵌入到你的应用程序当中。当然,作者也给出了一些推荐理由:

  • Hangfire。这是一个运行在ASP.NET中的后台任务执行工具。之前我专门介绍过。它内置漂亮的控制面板,对后台执行的方法没有特殊要求,对托管应用没有要求,作者对社区反馈反应迅速。
  • Postal。借鉴了Razor的灵感,使用类似View的概念来实现邮件模板。也封装了邮件发送的常用接口。
  • Formo。用dynamic数据类型让读取配置文件的内容更加灵活,当然也支持额外定义的POCO。
  • CsvHelper。在导入CSV文件的时候,往往需要写一些特定的读取代码。而只需要自己定义好映射,CsvHelper就帮你搞定一切。
  • TopShelf。以常规的方式编写Windows Service的时候,需要太多步骤和代码;而用TopShelf,只需要简单的创建一个类,并传递到HostFactory.Run中就行。安装也简单到.\yourservice.exe install。

    更详细的内容,可”阅读原文“。

    原文链接:http://thomasvm.github.io/blog/2015/03/17/open-source-net-libraries-that-make-your-life-easier/

  • 人生维艰,何不利用开源.NET函数库让工作更轻松的更多相关文章

    1. 如何持续集成/交付一个开源.NET函数库到Nuget.org

      (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:这是一个简单的入门向导,涉及到GitHub.AppVeyor和Nuget.org. 最 ...

    2. 利用开源的TaskScheduler组件实现监控和管理windows计划任务

      对于计划任务的执行有很多种解决方案,如利用开源Quartz作业调度框架,在SQL Server的作业等等,同时Windows的任务计划程序功能也很强大,利用此可以很方便的实现很多计划任务,除了人工进行 ...

    3. 如何在我们项目中利用开源的图表(js chart)

              最近觉得应该把自己在技术上的一些心得记录在博客里面跟大家分享,一起讨论,一起成长!       这篇随笔主要为介绍chart在项目中的运用,因为在我们看到一些开源的chart时候,是使 ...

    4. IT观察】网络通信、图片显示、数据库操作……Android程序员如何利用开源框架

      每个Android 程序员都不是Android应用开发之路上孤军奋战的一个人,GitHub上浩如烟海的开源框架或类库就是前人为我们发明的轮子,有的轮子能提高软件性能,而有的轮子似乎是以牺牲性能为代价换 ...

    5. 第三百五十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—利用开源的scrapy-redis编写分布式爬虫代码

      第三百五十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—利用开源的scrapy-redis编写分布式爬虫代码 scrapy-redis是一个可以scrapy结合redis搭建分布式爬虫的开 ...

    6. iOS基本动画/关键帧动画/利用缓动函数实现物理动画效果

      先说下基本动画部分 基本动画部分比较简单, 但能实现的动画效果也很局限 使用方法大致为: #1. 创建原始UI或者画面 #2. 创建CABasicAnimation实例, 并设置keypart/dur ...

    7. 利用开源软件strongSwan实现支持IKEv2的企业级IPsec VPN,并结合FreeRadius实现AAA协议(下篇)

      续篇—— 利用开源软件strongSwan实现支持IKEv2的企业级IPsec VPN,并结合FreeRadius实现AAA协议(上篇) 上篇文章写了如何构建一个支持IKEv2的VPN,本篇记录的是如 ...

    8. php利用wsh突破函数禁用执行命令(安全模式同理)

      php利用wsh突破函数禁用执行命令(安全模式同理) 前提.需要服务器支持wsh.并知道php安装目录 但是php利用wsh执行命令是没有asp的权限高的.   突破代码 <?php $cmd= ...

    9. CocoaPods的安装及使用/利用开源库Diplomat实现分享及第三方登录/git的使用

      <<史上最简洁版本>> 1.gem sources -l查看 当前的源 //1.1 sudo -i..以下都是以管理员的身份来操作的 2.gem sources --remov ...

    随机推荐

    1. Java读取word文档,转换为网页

      public class Test3 { /** * * @param path * @param paths * @param savepaths */ public static void cha ...

    2. WPF捕捉Windows关机事件

      private const int SC_SCREENSAVE = 0xF140; private const int WM_QUERYENDSESSION = 0x0011; private boo ...

    3. (转) 新的开始之Win7、CentOS 6.4 双系统 硬盘安装

      http://blog.csdn.net/cnclenovo/article/details/11358447

    4. VS的工程链接优化的问题

      打算在项目中试试 CATCH 这个测试框架.请同事在工程中进行了试验,结果却出现了一点问题. CATCH 和 GTest 之类的框架一样,可以直接在 C++ 文件中定义测试函数,就能自动地注册到测试列 ...

    5. Windows环境下 Node和NPM个性安装

      常拿自己的电脑常用来测试各种Bug,所以始终奋斗在XP.IE6的环境下.让我们在如此级别的环境下,开始Node之路吧~~ 在过去,Node.js一直不支持在Windows平台下原生编译,需要借助Cyg ...

    6. centos安装配置nginx

      1.安装gcc yum install gcc 2.安装PCRE,zlib,OpenSSL(其中devel,是develop开发包的意思) yum install -y pcre pcre-devel ...

    7. 添加删除一个controller

      (文章是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com) rails generate controller Users rails destroy cont ...

    8. C语言课程1——Hello World

      相信大家看了第一篇文章后,都信心满满,后边咱来点实际吧,上代码,经典之作:Hello World. 首先,不知道大家用的什么工具,VC6.0(太老了,强烈建议不用),VS,或是其他~ Hello Wo ...

    9. Python中请使用isinstance()判断变量类型

      一.isinstance() 在Python中可以使用type()与isinstance()这两个函数判断对象类型,而isinstance()函数的使用上比type更加方便. # coding=utf ...

    10. sharepoint bcs (bussiness connectivity services)

      sharepoint bcs  在2010 版本中是提供2010 与外部数据连接的. BCS全名Business Connectivity Services,可以把它看成SharePoint 2007 ...