Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What are the common frameworks and open source programs based on the .NET platform?

2025-03-29 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/03 Report--

This article focuses on "what are the common frameworks and open source programs based on the .NET platform?" interested friends may wish to take a look. The method introduced in this paper is simple, fast and practical. Let's let the editor take you to learn what are the common frameworks and open source programs based on the .NET platform.

Distributed caching framework:

Microsoft Velocity: Microsoft's own distributed cache service framework.

Memcahed: a distributed caching system that is currently used by many websites to improve the access speed of websites.

Redis: is a high-performance KV database. The emergence of it largely compensates for the deficiency of Memcached in some aspects.

EnyimMemcached: visit Memcached's best .NET clients and integrate good distributed equalization algorithms.

The open source .NET system is recommended:

OXITE: Microsoft ASP.NET MVC case demonstration framework.

PetShop: Microsoft ASP.NET Pet Store.

Orchard: a foreign MVC open source blog system.

SSCLI: Microsoft's open source code in the NET Framework 2.0 era.

DasBlog: a foreign blog system based on ASP.NET.

BlogEngine.NET: a free and open source blog system abroad.

Dotnetnuke.NET: a set of excellent open source portal programs based on ASP.NET.

Discuz.NET: open source forum community system in China.

NopCommerce and Aspxcommerce: a set of high-quality open source B2C website system abroad.

JumboTCMS and DTCMS: two open source website management systems in China:

Logging exception handling:

Log4Net.dll: lightweight free open source .NET logging framework.

Enterprise Library Log Application Black: Microsoft Enterprise Library logging.

Elmah: implement the most popular ASP.NET application exception logging framework.

NLog: is a simple and flexible logging class library with higher performance and less difficulty in use and maintenance than Log4Net.

About the NoSQL database:

Mongodb: distributed file storage database.

Membase: a new heavyweight member of the family.

Automatic task scheduling framework:

Quartz.NET: an open source framework for job scheduling and automated tasks.

Topshelf: another open source framework for creating Windows services

Dependency injection IOC container framework:

Unity: an IOC dependency injection framework developed by the Microsoft patterns&practicest team that supports AOP crosscutting concerns.

MEF (Managed Extensibility Framework): a framework for extending .NET applications and developing plug-in systems.

Spring.NET: dependency injection, aspect oriented programming (AOP), data access abstraction, and ASP.NET integration.

Autofac: the most popular dependency injection and IOC framework, lightweight and high-performance, with almost no intrusiveness to project code.

PostSharp: to achieve static AOP crosscutting concerns, easy to use, powerful, no change to the method of target interception.

Ninject: a lightweight open source dependency injection IOC framework based on .NET

Several commonly used ORM frameworks:

EF (ADO.NET Entity Framework): Microsoft's ORM framework based on ADO.NET.

Nhibernate: a lightweight ORM framework for .NET environments.

SqlMapper.cs: a generic C# database access class for small projects.

AutoMapper: a popular object mapping framework that reduces a lot of hard coding, is small and flexible, and has acceptable performance.

SubSonic: an excellent open source ORM mapping framework, while providing code generators that meet your needs.

FluentData: an open source Fluent API-based chained query ORM lightweight framework.

Dapper: lightweight, high-performance ORM framework based on EMIT generation.

EmitMapper: a high-performance ORM framework that dynamically generates IL code through EMIT at runtime, rather than using a reflection mechanism.

Format and data type conversion:

Newtonsoft.Json: currently the most popular JSON serialization library in .NET development, providing the basis for the new version of the WebApi library.

System.JSON.dll: JSON serialization component developed by Microsoft itself (needs to be downloaded separately)

DataContractJsonSerializer and DataContractXmlSerializer: the serializer used by Microsoft in WCF.

JavaScriptSerializer: Microsoft's default JSON formatter for WEB developers.

ITextSharp, PDFsharp, and PDF.NET: components that process and generate PDF documents through .NET.

SharpZipLib.dll: free and open source ZIP and GZIP file unzipping components.

Math.NET: powerful mathematical operations, calculus, solving equations and scientific operations.

DocX: do not need to install word software, manipulate word files through C#.

SharpSerializer: open source XML and, binary, JSON, compression and optimization framework.

Reflective and dynamic languages:

Clay dynamic: the open source dynamic language dynamic framework allows you to create objects in the shape of javascript.

ExposedObject: access private members outside the class through the dynamic language dynamic.

PrivateObject: a class in Microsoft's unit test framework that makes it easy to call private members within a class externally.

Cross-platform and runtime solutions:

MONO.NET: a cross-platform .NET runtime environment that makes it possible for .NET to run across platforms.

DotGnu Portable.NET: a cross-platform runtime similar to MONO.NET.

Phalanger: compiles PHP to .NET, enabling PHP to interoperate with .NET.

VMDotNet:. Net runtime used by China Mobile Fetion.

Unity3D: Microsoft strongly supports the cross-platform game development framework of opportunity C # and JavaScript.

Cassini, IIS Express, and Cassinidev: open source ASP.NET execution environment.

Katana: non-IIS boarding ASP.NET and MVC implemented by Microsoft based on OWIN specification.

IKVM.NET: a. Net-based JAVA virtual machine that lets JAVA run on. Net.

WEB development and design:

Jumony Core: HTML engine developed based on. Net.

Microsoft.mshtml.dll, Winista.HtmlParser.dll, and HtmlAgilityPack.dll: the framework for parsing and processing HTML documents.

JavaScript.NET and ClearScript (produced by Microsoft): JavaScript engine based on. Net.

NCrawler: open source web crawler software for its HTML processing engine htmlagilitypack.

AntiXSS: Microsoft's official open source class library for preventing cross-site XSS scripting attacks, which encodes content through the whitelist mechanism.

YUICompressor.NET, Microsoft Ajax Minifier, and Google Closure Compiler:JavaScrip and CSS compressors.

NancyFx: a good lightweight open source .NET WEB framework. If you want to quickly do a simple WEB application.

AspNetPager: domestic well-known ASP.NET paging control, supporting a variety of paging methods.

NOPI.dll: plug-in for exporting Excel reports (implemented based on Microsoft OpenXml) (nopi.css.dl sets styles through css)

Enterprise Library: Microsoft's best practices component for enterprise application development.

PowerCollections: an advanced open source collection written by an awesome person abroad.

Mobile Internet and Cloud Computing:

PushSharp: push messages to various mobile platforms through. Net.

Mono for android: develop Android applications in. Net language:

MonoTouch: develop IOS applications in. Net language.

PhoneGap and AppCan: cross-platform mobile development platform based on HTML5.

Cordova:PhoneGap contributes to the open source project after Apache and is the core engine that drives PhoneGap.

Network communications and network protocols:

SuperSocket: a lightweight and extensible Socket development framework based on .NET.

SuperWebSocket: implement the TML5 WebSocket framework through. Net.

XProxy: the underlying proxy assembly that supports plug-ins, with built-in NAT, encryption and decryption, reverse, direct and indirect proxies.

Graphics and image processing framework:

Paint.NET: based on. Net small, flexible and powerful graphics processing open source project.

Imagemagick.NET: encapsulation of open source image processing component Imagemagick with C #.

Skimpt: open source screenshot software based on. Net.

ImageGlue.NET: a commercial image processing component with a list of supported formats.

Sprite and Image Optimization Framework: Microsoft CSS wizard, multi-image synthesis of a large picture and CSS style.

Desktop application framework:

DevExpress: a world-renowned UI control library for desktop applications.

Prism: Microsoft's MVVM framework for WPF and Silverlight, which separates complex business functions from UI coupling through the idea of functional modularization.

WPFToolkit and Fluent Ribbon Control Suite: develop Ribbon menus similar to Office style.

Testing and performance evaluation:

Faker.Net: a framework that facilitates the generation of mass test data.

Nunit: a lightweight unit testing framework.

Moq: a very popular Mock framework that supports LINQ, flexible and high performance.

XUnit: a better unit testing framework than NUnit, an upgraded version of the Nunit framework.

MiniProfiler and Glimpse: two performance event monitoring frameworks based on MVC.

Transaction and distributed transaction support:

KtmIntegration: a transactional open source class that supports the NTFS file system.

NET Transactional File Manager: adds transaction support for file system operations (copy, move, and delete).

Word segmentation, full-text search and search engines:

Lucene.net: a popular high-performance full-text index library, which can be used to provide powerful search functions for all kinds of information.

Lucene.Net.Analysis.PanGu: supports the latest version of Pangu Chinese word segmentation extension library of Lucene.Net.

Collation of data verification components:

FluentValidation for .NET: validates components based on the Fluent interface of the LINQ expression method chain.

Microsoft.Practices.EnterpriseLibrary.Validation.dll: Microsoft Enterprise Library verifier block.

CuttingEdge.Conditions: a contract programming component that practices interfaces based on Fluent interface methods.

DotNetOpenAuth: make the website capable of supporting authentication such as OpenID, OAuth, InfoCard, etc.

Open source chart statistics controls:

Visifire: a set of very effective WPF chart controls that support 3D drawing, curves, broken lines, sectors, rings and trapezoids.

SparrowToolkit: a set of WPF chart controls that support drawing dynamic curves, oscilloscopes, CPU usage and waveforms.

DynamicDataDisplay: Microsoft's open source WPF dynamic graphs, charts, bubble charts and thermal maps.

Message queue categories can be expanded, such as: Kafka is a distributed, publish / subscribe-based messaging system. The main design objectives are as follows:

The ability of message persistence is provided in the way of time complexity O (1), which can guarantee the access performance of constant time complexity even for data above TB level.

High throughput. Even on very cheap commercial machines, it is possible to support the transmission of more than 100K messages per second on a single machine.

Support message partitioning between Kafka Server, and distributed consumption, while ensuring the sequential transmission of messages within each Partition.

Both offline data processing and real-time data processing are supported.

Scale out: supports online horizontal scaling.

RabbitMQ

RabbitMQ is an open source message queue written in Erlang, which supports many protocols: AMQP,XMPP, SMTP, STOMP. Because of this, it is very heavyweight and more suitable for enterprise development. At the same time, the Broker architecture is implemented, which means that messages are queued in the central queue before being sent to the client. Good support for routing, load balancing or data persistence.

Redis

Redis is a NoSQL database based on Key-Value pairs, which is very active in development and maintenance. Although it is a Key-Value database storage system, it supports MQ functionality, so it can be used as a lightweight queuing service. For the entry and exit operations of RabbitMQ and Redis, each performed 1 million times, and the execution time was recorded every 100000 times. The test data are divided into four different sizes: 128Bytes, 512Bytes, 1K and 10K. The experimental results show that when joining the team, the performance of Redis is higher than that of RabbitMQ when the data is compared, but it is unbearably slow if the data size exceeds 10K; when leaving the team, Redis shows very good performance regardless of the size of the data, while the performance of RabbitMQ is much lower than that of Redis.

ZeroMQ

ZeroMQ claims to be the fastest message queuing system, especially for high-throughput demand scenarios. ZeroMQ can implement advanced / complex queues that RabbitMQ is not good at, but developers need to combine a variety of technical frameworks themselves, and the technical complexity is a challenge to the successful application of this MQ. ZeroMQ has a unique non-middleware mode, you do not need to install and run a message server or middleware, because your application will play this server role. You can simply reference the ZeroMQ library, install it using NuGet, and then you can happily send messages between applications. But ZeroMQ only provides non-persistent queues, which means that if there is an outage, data will be lost. Among them, ZeroMQ is used as the transport of data streams by default in Storm versions of Twitter prior to 0.9.0 (Storm supports both ZeroMQ and Netty as transport modules since version 0.9).

ActiveMQ

ActiveMQ is a sub-project under Apache. Similar to ZeroMQ, it can implement queues in proxy and peer-to-peer technologies. At the same time, similar to RabbitMQ, it can efficiently implement advanced application scenarios with a small amount of code.

Kafka/Jafka

Kafka, a sub-project of Apache, is a high-performance cross-language distributed publish / subscribe message queuing system, while Jafka is hatched on Kafka, that is, an upgraded version of Kafka. It has the following characteristics: fast persistence, which can persist messages under O (1) system overhead; high throughput, which can reach the throughput rate of 10W/s on an ordinary server; completely distributed system, Broker, Producer, Consumer all support distribution natively and realize load balancing automatically. Support Hadoop data parallel loading, for the same log data and offline analysis system as Hadoop, but require real-time processing limitations, this is a feasible solution. Kafka unifies online and offline message processing through Hadoop's parallel loading mechanism. Apache Kafka is a very lightweight messaging system compared to ActiveMQ. It is not only a very good performance, but also a well-working distributed system.

At this point, I believe you have a deeper understanding of "what are the common frameworks and open source programs based on the .NET platform?" you might as well do it! Here is the website, more related content can enter the relevant channels to inquire, follow us, continue to learn!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report