今天推荐的文章会谈到一些让你工作更轻松的开源.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. 终端terminal配色

      切换到~/.bash_profile,无此.bash_profile文件可创建 在文件内粘入以下代码: #enables colorin the terminal bash shell export ...

    2. 基于无锁的C#并发队列实现(转载)

      最近开始学习无锁编程,和传统的基于Lock的算法相比,无锁编程具有其独特的优点,Angel Lucifer的关于无锁编程一文对此有详细的描述. 无锁编程的目标是在不使用Lock的前提下保证并发过程中共 ...

    3. mybatis 使用动态SQL

      RoleMapper.java public interface RoleMapper { public void add(Role role); public void update(Role ro ...

    4. virtualbox 不能为虚拟电脑打开一个新任务/VT-x features locked or unavailable in MSR.

      确保了主机的BIOS中开启了Intel Virtual Technology,虚拟机配置中勾选了“启用VT-x/AMD-V”. 这是因为CPU不支持VT-X技术或者VT-X技术被锁定. 如果不打开虚拟 ...

    5. c语言中的fgets函数

      fgets()函数用于从文件流中读取一行或指定个数的字符,其原型为: char * fgets(char * string, int size, FILE * stream); 参数说明:string ...

    6. linux 下如何给用户添加权限

      linux 添加用户.权限:# useradd –d /usr/sam -m sam此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户 ...

    7. linux 的iptables防火墙

      .a文件就是*.o文件的集合, 是object文件的归档文件, 所以, 用nm -A  ???.a看到的 symbolic符合名称都是 相应的,  包含的  .o文件.... linux 2.4内核中 ...

    8. Linux 4.6分支已到生命尽头 请尽快升级至Linux 4.7.1

      导读 在Linux Kernel 4.7首个维护版本发布的同时,Greg Kroah-Hartman同时也向社区发布了Linux Kernel 4.6.7版本.作为Linux 4.6分支的第7个维护版 ...

    9. 使用 Python 创建你自己的 Shell(下)

      导读 在上篇中,我们已经创建了一个 shell 主循环.切分了命令输入,以及通过 fork 和 exec 执行命令.在这部分,我们将会解决剩下的问题.首先,cd test_dir2 命令无法修改我们的 ...

    10. C++中new的解说

      new int;//开辟一个存放整数的存储空间,返回一个指向该存储空间的地址(即指针) new int(100);//开辟一个存放整数的空间,并指定该整数的初值为100,返回一个指向该存储空间的地址 ...