Метка «.net» - 38

На небольшом примере я расскажу как используя библиотеку TPL Dataflow можно решить довольно не тривиальную задачу многопоточной компрессии файлов в течении 15 минут.
Задача

Необходимо реализовать эффективную компрессию файлов используя класс GZipStream находящийся в пространстве имён System.IO.Compression. Предполагается, что сжимать мы будем файлы большие, и их нельзя уместить целиком в оперативной памяти.
TPL Dataflow
TPL Dataflow (TDF) построена поверх вошедшей в .NET 4 библиотеки TPL (The Task Parallel Library) и дополняет ее набором примитивов, для решения более сложных задач чем исходная библиотека. TPL Dataflow использует задачи,Читать полностью »

Пролог

Вряд ли эта статья войдёт в чьё-то избранное, так как статьёй как таковой и не является. Здесь нет никакого сборника мудростей для новичков. Здесь нет ни строчки кода. Здесь нет картинок для привлечения внимания. Скорее, этот пост — это вопросы и мысли вслух простого программиста аутсорсинговой компании. Потому и будет чем-то напоминать порезанный и склееный воедино диалог (ну, в данном случае, скорее, монолог) из курилки в офисе IT компании. Вероятно, на многие вопросы мне смогут ответить те разработчики, которые очень хорошо знакомы с .NET CMS Orchard и Umbraco. Хотелось бы на всякий случай воззвать к вашейЧитать полностью »

.NET / Быстрое создание и чтение документов MS Office 2007/2010 из 1С: Предприятие 8
Метод позволяет быстро создавать и читать документы Word, Excel и PowerPoint напрямую из 1С: Предприятие 8 без установленного Microsoft Office 2007/2010. Скорость создания документов в несколько раз выше, чем традиционное создание через COM/OLE. Статья продолжает серию примеров применения на практике 1С.Net: Предприятие. В статье используется разработка Open XML SDK. Для работы примера необходимы установленные .Net framework 4.0 и Elisy .Net Bridge 4.0.3 и выше. Пример, сопровождаемый статью, написан для 1С: Предприятие 8.2.13.
Стандарт Office Open Xml

Формат Office Open XML (Open Xml) – это формат XML-файлов, помещенных в zip-архив для представления текстовых документов и документовЧитать полностью »

C#.NET предлагает множество способов сравнить объекты, как экземпляры классов, так и структур. Способов так много, что без упорядочения этих способов и понимания их грамотного использования и имплементации (при наличии возможности переопределения), в голове, неминуемо, образуется каша.
Итак, класс System.Object предлагает следующие методы:

public static bool ReferenceEquals(object objA, object objB)
{
return objA == objB;
}

public static bool Equals(object objA, object objB)
{
return objA == objB || (objA != null && objB != null && objA.Equals(objB));
}

public virtual bool Equals(object obj)
{
Читать полностью »

ASP.NET MVC / Обработка всех исключений в контроллерах с помощью атрибута
Всё мы знаем, что в ASP.NET MVC есть такой атрибут HandleErrorAttribute, который как сказано в MSDN

Представляет атрибут, используемый для обработки исключения, вызываемого методом действия.
Но нигде, в том же MSDN не сказано (ткните меня носом дайте ссылку где это написано, если я просмотрел), что он обрабатывает только исключения, устанавливающие код ответа сервера в 500.
Посмотрев на исходный код HandleErrorAttribute легко убедиться в этом. Там имеются следующие строки:
// If this is not an HTTP 500 (for example, if somebody throws an HTTP 404 from an action method),
// ignore it.
if (new HttpException(null, exception).GetHttpCode() != 500) {
return;
}

Не знаю, как вам, а мне удобнее при возникновенииЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js