Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 16182|Отговор: 1

[ASP.NET] Въз основа на. .NET платформа

[Копирай линк]
Публикувано в 26.08.2016 г. 16:20:18 ч. | | |
Откакто научих. .NET, елегантният стил на програмиране, изключително простата мащабируемост, достатъчно мощните инструменти за разработка и много малката крива на учене ме накараха да проявя силен интерес към тази платформа, а също така съм натрупал някои компоненти с отворен код в работата и обучението си.
Рамка за разпределено кеширане:
Microsoft Velocity: Собствената рамка за разпределена кеш услуга на Microsoft.
Memcahed: Разпределена кешираща система, която в момента се използва от много уебсайтове за подобряване на скоростта на достъпа до сайта.
Redis: е високопроизводителна KV база данни. Външният му вид до голяма степен компенсира недостатъците на Memcached в някои аспекти.
EnyimMemcached: Достъп до най-добрия .NET клиент на Memcached с добър алгоритъм за разпределена еквализация.
Отворен код. Препоръка за система .NET:
OXITE: Microsoft ASP.NET рамка за представяне на казуси MVC.
PetShop: Microsoft ASP.NET зоомагазин.
Orchard: Чуждестранна MVC система за блогове с отворен код.
SSCLI: Отвореният код на Microsoft в ерата на NET Framework 2.0.
DasBlog: Система за блогване, базирана на asp.net, в чужбина.
BlogEngine.NET: Безплатна и отворена блог система в чужбина.
Dotnetnuke.NET: Много добър набор от отворени портални програми, базирани на ASP.NET.
Discuz.NET: Вътрешна система за форуми с отворен код.
nopCommerce и Aspxcommerce: Набор от висококачествени B2C уебсайтове системи с отворен код в чужбина.
JumboTCMS и DTCMS: Две системи за управление на уебсайтове с отворен код в Китай:
Обработка на логване на изключения:
Log4Net.dll: Лека безплатна и отворена .NET логова рамка.
Приложение Enterprise Library Log Black: Microsoft Enterprise Library Logging.
Елма: Реализира най-популярната рамка за записване на изключения ASP.NET приложения.
NLog: е проста и гъвкава библиотека за логване с по-висока производителност от Log4Net и ниска трудност при използване и поддръжка.
За NoSQL бази данни:
Mongodb: Разпределена база данни за съхранение на файлове.
Membase: Нов тежък член на семейството.
Рамка за автоматизирано планиране на задачи
Quartz.NET: Отворено планиране на работни места и автоматизирана рамка за задачи.
Topshelf: Още една рамка с отворен код за създаване на Windows услуги
IOC контейнерна рамка за инжектиране на зависимости:
Unity: Рамка за инжектиране на зависимости в IOC, разработена от екипа за модели и практики на Microsoft, която подкрепя AOP cross-cutting въпроси.
MEF (Управлявана рамка за разширяемост): е рамка за разширяване на .NET приложения и за улесняване на разработването на плъгин системи.
Spring.NET: Инжектиране на зависимости, аспектно-ориентирано програмиране (AOP), абстракция на достъп до данни и интеграция ASP.NET.
Autofac: Най-популярната рамка за инжектиране на зависимости и IOC, лек и високопроизводителен, практически ненатрапчив към проектния код.
PostSharp: Реализира статично AOP crosscutting cutting на проблемите, лесен е за използване, мощен и не изисква промени в метода на прихващане на целта.
Ninject: IOC рамка за инжектиране на зависимости, базирана на .NET лек и с отворен код
Няколко често използвани ORM рамки:
EF (ADO.NET Entity Framework): ORM рамка, разработена от Microsoft на базата на ADO.NET.
Nhibernate: Лека ORM рамка за .NET среди.
SqlMapper.cs: Общ клас за достъп до база данни на C# за малки проекти.
AutoMapper: Популярна рамка за картографиране на обекти, която намалява много хардкодиране, компактна и гъвкава и има приемлива производителност.
SubSonic: Отлична отворена ORM картографска рамка, която предоставя генератор на код, отговарящ на вашите нужди.
FluentData: Open-source, базирана на Fluent API базирана chained query ORM платформа за лека платформа.
Dapper: Лек, високопроизводителен, базиран на ORM, генерирана от EMIT.
EmitMapper: Високопроизводителна ORM рамка, която динамично генерира IL код чрез EMIT по време на изпълнение, вместо да използва механизъм за отражение.
Преобразуване на формати и типове данни
Newtonsoft.Json: Най-популярната библиотека за сериализация на JSON, която в момента е в разработка на .NET, осигуряваща основата за новата версия на WebApi библиотеката.
System.JSON.dll: Собственият JSON сериализационен компонент на Microsoft (трябва да се изтегли отделно)
DataContractJsonSerializer и DataContractXmlSerializer: Сериализатори, използвани от Microsoft в WCF.
Javascrip{filter}tSerializer: Стандартният JSON форматор на Microsoft за WEB разработчици.
iTextSharp, PDFsharp и PDF.NET: През. .NET за обработка и генериране на PDF документи.
SharpZipLib.dll: Безплатни и с отворен код компоненти за декомпресия на ZIP и GZIP файлове.
Math.NET: Силни математически операции, калкулус, решаване на уравнения и научни операции.
DocX: Няма нужда от инсталиране на Word софтуер, работете с Word файлове през C#.
SharpSerializer: Open-source XML и, бинарна, JSON, компресия и оптимизационна рамка.
Рефлексивен и динамичен език
Clay dynamic: Отворената динамична рамка позволява да създавате обекти под формата на javascrip{filtering}t.
ExposedObject: Достъп до частни членове извън класа по динамичен езиков начин.
PrivateObject: Клас в рамката за модулно тестване на Microsoft, който е удобен за външно извикване на частни членове на класа.
Кросплатформени и runtime решения
MONO.NET: Кросплатформен. .NET среда за изпълнение, което прави възможна .NET кросплатформена операция.
DotGnu Portable.NET: Кросплатформено работно време, подобно на MONO.NET.
Фалангер: Компилирането на PHP в .NET позволява съвместимост между PHP и .NET.
VMDotNet: .NET runtime, използван от China Mobile Feixin.
Unity3D: Силната подкрепа на Microsoft за C# и кросплатформената рамка за разработка на игри на Javascrip.
Cassini, IIS Express и Cassinidev: Open-source ASP.NET изпълнителни среди.
Katana: Не-IIS бордовият ASP.NET и MVC на Microsoft, базиран на спецификацията OWIN.
IKVM.NET: Въз основа на. .NET е JAVA виртуална машина, която позволява JAVA да работи върху .NET.
УЕБ разработка и дизайн
Jumony Core: HTML енджин, разработен на базата на .NET.
Microsoft.mshtml.dll, Winista.HtmlParser.dll и HtmlAgilityPack.dll: Рамки, които анализират и обработват HTML документи.
Javascrip{filtering}t.NET и Clearscrip{filtering}t (произведени от Microsoft): Базирани на . .NET разработи Javascrip{filter}t енджин.
NCrawler: Отворен уеб crawler за своя HTML процесорен двигател htmlagilitypack.
AntiXSS: Официалната библиотека с отворен код на Microsoft за предотвратяване на атаки за проникване на XSS скриптове между различни сайтове, която кодира съдържание чрез механизъм за бял списък.
YUICompressor.NET, Microsoft Ajax Minifier и Google Closure Compiler: JavaScrip и CSS Compressor.
NancyFx: е хубав, лек open source .NET WEB фреймуърк. Ако искате бързо да направите просто WEB приложение.
AspNetPager: Добре познат ASP.NET контрол на пейджинг в Китай, поддържащ множество методи за пейджинг.
NOPI.dll: Плъгин за експортиране на Excel отчети (базиран на Microsoft OpenXml имплементация) (nopi.css.dl стилизиран чрез css)
Enterprise Library: Компонентът на Microsoft за най-добра практика за разработка на приложения в корпоративно ниво.
PowerCollections: Висококачествена колекция с отворен код, написана от чуждестранен талант.
Мобилен интернет и облачни изчисления
PushSharp: Изпращайте съобщения към различни мобилни платформи чрез .NET.
Моно за Android: Използвай. .NET езикова разработка за Android приложение:
MonoTouch: Разработване на IOS приложения на .NET език.
PhoneGap и AppCan: Кросплатформени мобилни платформи за разработка на база HTML5.
Cordova: Проект с отворен код след като PhoneGap допринесе за Apache, това е основният двигател, който движи PhoneGap.
Мрежова комуникация и мрежови протоколи
SuperSocket: Лека и мащабируема рамка за разработка на сокети, базирана на .NET.
SuperWebSocket: Реализира рамката TML5 WebSocket чрез .NET.
XProxy: Основният агент асемблер, който поддържа плъгини, с вградени NAT, криптиране и декриптиране, обратни, директни и индиректни проксита.
Графични и рамки за обработка на изображения
Paint.NET: Въз основа на. .NET е компактен, гъвкав и мощен проект с отворен код за графична обработка.
Imagemagick.NET: Капсулиране на компонента за обработка на изображения с отворен код Imagemagick в C#.
Skimpt: Софтуер за скрийншотове с отворен код, базиран на .NET.
ImageGlue.NET: Комерсиалните компоненти за обработка на изображения имат голям списък с поддържани формати.
Рамка за оптимизация на спрайтове и изображения: Microsoft CSS Wizard, мулти-образ, комбиниращ голям образ и CSS стил.
Рамка за настолни приложения
DevExpress: Световноизвестна библиотека с UI контроли за десктоп приложения.
Prism: MVVM фреймуъркът, разработен от Microsoft за WPF и Silverlight, който разделя сложните бизнес функции и UI свързването чрез идеята за функционална модулност.
WPFToolkit и Fluent Ribbon Control Suite: Разработване на менюта с ленти в стил офис.
Тестове и оценка на производителността
Faker.Net: Рамка за генериране на големи партиди тестови данни.
Nunit: Лека рамка за тестване на единици.
Moq: Много популярна Mock рамка, която поддържа LINQ, гъвкава и високопроизводителна.
xUnit: По-добра рамка за unit testing от NUnit, подобрена версия на Nunit framework.
MiniProfiler и Glimpse: Две MVC-базирани рамки за мониторинг на събития в производителността.
Поддръжка на транзакционни и разпределени транзакции
KtmIntegration: Транзакционен клас с отворен код, който поддържа файловата система NTFS.
NET транзакционен файлов мениджър: Добавена транзакционна поддръжка за операции във файловата система (копиране, преместване и изтриване).
Сегментиране на думи, търсене в пълен текст и търсачка
Lucene.net: Популярна високопроизводителна пълнотекстова индексна библиотека, която може да се използва за предоставяне на мощни функции за търсене на всякаква информация.
Lucene.Net.Analysis.PanGu: Поддържа най-новата версия на пангуската китайска разширена библиотека за сегментация Lucene.Net.
Организация на компонентите за валидиране на данни
FluentВалидация за . NET: Компонент за проверка на флуентния интерфейс, базиран на верига от методи от изрази LINQ.
Microsoft.Practices.EnterpriseLibrary.Validation.dll: Блокът за валидация на Microsoft Enterprise Library.
CuttingEdge.Conditions: Договорен програмен компонент, базиран на интерфейсния метод Fluent.
DotNetOpenAuth: Позволява на уебсайтове да поддържат удостоверяване с OpenID, OAuth, InfoCard и други.
Контрол на статистиката на диаграми с отворен код:
Visifire: Много добър комплект WPF карти за контроли, които поддържат 3D рисуване, криви, полилинии, сектори, пръстени и трапецови.
SparrowToolkit: Набор от WPF контроли за графики, които поддържат рисуване на динамични криви, включително осцилоскопи, използване на процесора и вълнови форми.
DynamicDataDisplay: Динамични графики WPF с отворен код, линейни графики, балонни диаграми и топлинни карти.

Категориите на опашката за съобщения могат да бъдат разширени, като Kafka, която е разпределена система за съобщения, базирана на публикуване/абонамент. Основните цели на дизайна са следните:
Запазването на съобщенията се осигурява под формата на времева сложност O(1), а производителността на достъпа с постоянна времева сложност може да бъде гарантирана дори за данни над терабайтите.
Висока пропускателна способност. Дори на много евтини търговски машини може да поддържа предаване на над 100K съобщения в секунда на една машина.
Той поддържа разделяне на съобщения и разпределено потребление между Kafka сървъри и гарантира последователно предаване на съобщения във всеки дял.
Поддържа както офлайн обработка на данни, така и обработка на данни в реално време.
Мащабиране: Подкрепа за онлайн хоризонтално разширяване.
RabbitMQ
RabbitMQ е опашка за съобщения с отворен код, написана на ерланг, която поддържа много протоколи: AMQP, XMPP, SMTP, STOMP, поради което е много тежка и по-подходяща за корпоративна разработка. В същото време е реализирана архитектурата на брокера, което означава, че съобщенията се поставят на опашка първо в централната опашка, когато бъдат изпратени към клиента. Има добра поддръжка за маршрутизиране, балансиране на натоварването или запазване на данните.
Редис
Redis е NoSQL база данни, базирана на двойки ключ-стойност, която се разработва и поддържа активно. Въпреки че е система за съхранение на бази данни с ключови стойности, тя самата поддържа MQ функционалност, така че може да се използва като лека опашка услуга. За операциите по въвеждане и излизане на опашка на RabbitMQ и Redis, по 1 милион пъти всяка, а времето за изпълнение се записва на всеки 100 000 пъти. Тестовите данни са разделени на четири различни размера: 128Bytes, 512Bytes, 1K и 10K. Експериментална таблица: Когато се присъедините към екипа, производителността на Redis е по-висока от тази на RabbitMQ, когато сравнението на данните е малко, а ако размерът на данните надвишава 10K, Redis е непоносимо бавен. Когато излизахме от екипа, Redis показа много добри резултати, независимо от размера на данните, докато представянето на RabbitMQ беше значително по-ниско от това на Redis.
ZeroMQ
ZeroMQ твърди, че е най-бързата система за опашка за съобщения, особено при сценарии с високо пропускателно търсене. ZeroMQ може да реализира напреднали/сложни опашки, в които RabbitMQ не е добър, но разработчиците трябва сами да комбинират множество технически рамки, а техническата сложност е предизвикателство за успешното приложение на този MQ. ZeroMQ има уникален режим без междинен софтуер, при който не е нужно да инсталираш и стартираш сървър за съобщения или междинен софтуер, защото приложението ти ще изпълнява тази сървърна роля. Всичко, което трябва да направите, е просто да се позовете на библиотеката ZeroMQ, която може да се инсталира чрез NuGet, и можете спокойно да изпращате съобщения между приложенията. Въпреки това, ZeroMQ предоставя само непостоянни опашки, което означава, че ако не работи, данните ще бъдат загубени. Сред тях е версията на Twitter за Storm преди 0.9.0 използва ZeroMQ като предаване на потоци от данни по подразбиране (Storm поддържа както ZeroMQ, така и Netty като модул за предаване от версия 0.9).
ActiveMQ
ActiveMQ е подпроект под Apache. Подобно на ZeroMQ, той позволява опашки с агент и peer-to-peer технология. В същото време, подобно на RabbitMQ, може ефективно да реализира напреднали сценарии на приложения с малко количество код.
Кафка/Яфка
Kafka е подпроект на Apache, високопроизводителна разпределена система за публикуване/абониране на опашка за съобщения между езици, а Jafka се инкубира върху Kafka, която е подобрена версия. Той има следните характеристики: бърза персистентност, която може да запазва съобщения под системния overhead на O(1); Висока пропускателна способност, която може да достигне пропускателна способност от 10W/s на обикновен сървър; Напълно разпределена система, брокер, производител и потребител всички нативно поддържат разпределено и автоматично реализират балансиране на натоварването; Поддържа паралелно зареждане на Hadoop данни, което е жизнеспособно решение за лог данни и офлайн системи за анализ като Hadoop, но с ограниченията на обработката в реално време. Kafka обединява онлайн и офлайн обработката на съобщения чрез паралелния механизъм за зареждане на Hadoop. Apache Kafka е много лека система за съобщения спрямо ActiveMQ и освен много добрата си производителност, тя е и разпределена система, която работи добре.




Предишен:.net ToString() форматиране
Следващ:C#/.NET IP Порт скенер [Изходен код]
Публикувано в 26.08.2016 г. 16:22:42 ч. |
Да, използвал съм няколко, някои рамки, и още не съм ги виждал
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com