1. 程式人生 > >.net/c#常用框架/中間件簡介

.net/c#常用框架/中間件簡介

跨語言 bat 方法 entity 系統 wcf 序列 lpush 面向

  • 任務調度
    • Quartz.NET:Quartz.NET是一個開源的作業調度框架,非常適合在平時的工作中,定時輪詢數據庫同步,定時郵件通知,定時處理數據等。 Quartz.NET允 許開發人員根據時間間隔(或天)來調度作業。它實現了作業和觸發器的多對多關系,還能把多個作業與不同的觸發器關聯。整合了 Quartz.NET的應用程序可以重用來自不同事件的作業,還可以為一個事件組合多個作業。
  • 日誌記錄
    • NLog
    • Log4Net
  • IOC
    • Ninject:輕量級ioc
    • Castle:
    • Autofac:
  • ORM:
    • Dapper:輕量級orm,Stackoverflow在使用(Dapper-Extensions),性能優越
    • Entity Framework:微軟自家的ORM框架
    • NHibernate:Hibernate的.net實現
    • Mybatis.net:mybatis的.net實現
    • ServiceStack.OrmLite:
  • WPF
    • MvvmLight:輕量級mvvm框架
    • Prism:官方mvvm框架
  • 通訊
    • Akka.net:基於actor模型的高性能並發處理框架
    • Helios:(不再更新)
    • Thrift:一種可伸縮的跨語言(c#、C++、Java...)通訊服務框架
    • Supersocket:國產優秀通訊框架,
    • Fastsocket:另一個國產socket通訊框架
    • DotNetty:開源,netty的.net實現。Netty是一個高性能、異步事件驅動的NIO框架,它提供了對TCP、UDP和文件傳輸的支持
  • 總線
    • NServiceBus:需要序列,不免費。NServiceBus 是一個用於構建企業級 .NET系統的開源通訊框架。它在消息發布/訂閱支持、工作流集成和高度可擴展性等方面表現優異,因此是很多分布式系統基礎平臺的理想選擇。,它能夠幫助 開發人員在搭建企業.NET系統時避免很多典型的常見問題。同時,該框架也提供了一些可伸縮的關鍵特征,比如對發布/訂閱的支持、集成的長時間工作流及深 入的擴展能力等。據作者說,其本意是為構建分布式應用軟件創建一個理想的基礎設施。
    • MassTransit:開源。Mass Transit是一個.NET平臺上的用於構建松耦合應用程序的服務總線框架,這個服務總線支持YAGNI原則(YAGNI原則,就是通過重構提取公因式 當出現一次時,不分層,以後業務復雜了,馬上抽象出一個層次來,分層是依賴倒置原則和模版方法模式的應用。)。通過一套嚴密的關註點,Mass Transit和應用程序之間的接觸最小化和清晰的接口.
    • ESB.NET:開源的企業級服務總線,采用的協議是MS-PL。ESB.NET主要包含了MSMQ消息隊列機制,SOAP消息收發,ROUTER服務路由,WCF,WSE消息擴展(消息加解密,壓縮),還有WF工作流
    • Shuttle:開源。它為開發面向消息的事件驅動架構(EDA[1])系統提供了一種新方法
  • MQ
    • RabbitMQ:基於Erlang開發,是AMQP(高級消息隊列協議)的標準實現,性能和可靠性非常不錯,支持序列化和集群。
    • Redis.List:基於Redis的List實現(LPUSH,RPOP)

.net/c#常用框架/中間件簡介