Обновить
93.58

.NET *

Хаб со знаниями про .NET

Сначала показывать
Порог рейтинга
Уровень сложности

Использование MEF (Managed Extensibility Framework) для разработки Asp.Net WebForms приложений

Время на прочтение11 мин
Охват и читатели4.4K
MEF является хорошим фреймворком для написания расширяемых приложений. Он позволяет легко отделять реализацию от абстракции, добавлять/изменять/удалять реализации во время работы приложения (рекомпозиция), работать с множественными реализациями абстракций, разделять монолитные приложения на независимые части и пр.

Большинство примеров работы MEF являются консольными или WPF приложениями. Почему? Потому что в этом случае легче всего контролировать время жизни составных элементов (composable parts) т.к. сам MEF заботится об этом, а разработчик концентрируется на задачах примера.

Ситуация в веб приложениях кардинально отличается. Разработчики не ответственны за создание страниц, контролов и пр., т.к. Asp.net Runtime берёт всё на себя.

Таким образом, что бы реализовать поддержку MEF для веб приложений следует скомбинировать алгоритмы обоих инструментов.
Читать дальше →

C# для начинающих. Лекция 1 — Введение

Время на прочтение1 мин
Охват и читатели85K
Топик опубликован по просьбе itdevelop, так что он будет отвечать на все ваши вопросы, а также плюсы кидать на его аккаунт. Спасибо за понимание.

Это первая лекция большого видео-курса для тех, кто хочет научиться программировать на языке С#. Поскольку это — вводная лекция, то хочу сразу предупредить, что сам процесс программирования начнется только со второй лекции. Здесь же я хочу вас познакомить с .NET Framework, чем удобна эта платформа, и как происходит перевод написанного вами кода на C# в код, понятный операционной системе.
Читать дальше →

IronRuby и IronPython переданы в руки сообщества, выпущены IronRuby Tools for Visual Studio

Время на прочтение2 мин
Охват и читатели2.3K
Большие новости от Microsoft по поводу открытой реализации динамических языков Ruby и Python для .NET. Прежде всего надо сказать, что долгожданная интеграция и поддержка IronRuby в Visual Studio выпущена в свет! Ранее такая поддержка была доступна для IronPython (подробности по этой ссылке).

Кроме того в новом IronRuby 1.1.1 поддерживается Ruby 1.9.2. Кроме того есть поддержка проектов Ruby On Rails!

image

Читать дальше →

Что нам готовит PDC10?

Время на прочтение2 мин
Охват и читатели613

image



PDC10 — крупнейшая конференция Microsoft начнется уже через неделю 28 октября. Самое время строить догадки и предположения о том, что нового может представить Microsoft для разработчиков.



Пищу для домыслов может дать недавнее обновление программы конференции на сайте http://player.microsoftpdc.com/. В ней появились следующие интересные позиции:



image  image



Не остается сомнений, что на PDC расскажут про следующие версии C#, Visual Basic и F#. Пока не ясно будет ли обновление языков проходить вместе с обновлением самой платформы .NET. Я склонен считать, что обновления CLR не будет, нововведения в языки будут введены под индексом .NET 4.1/4.5, но не 5.0.

Читать дальше →

Мучаем MS Word из нашего приложения

Время на прочтение4 мин
Охват и читатели27K
Перед каждым прикладным разработчиком рано или поздно встает задача экспорта данных из своего приложения в другое. Вот и передо мной она в очередной раз встала: мне потребовалось генерировать сообщения для рассылки (почтовой, которую почтальон носит). Письма должны сохраняться в формате Word. Казалось бы, задача тривиальная, но некоторые тонкости есть. На просторах инетернетов довольно много примеров работы с вордом из сторонних приложений через COM-вызов, но большая часть из них является либо примерами уровня «Hello world!», либо заточенными под определенную задачу. Реализации своей я не нашел, потому предлагаю ознакомиться с очередным велосипедом.
Читать дальше →

Защита .NET приложений — всё же, во что заворачивать селёдку?

Время на прочтение9 мин
Охват и читатели29K

Защита .NET приложений — всё же, во что заворачивать селёдку?



В пику вот этому обзору. Решил написать собственный обзор обфускаторов, ибо считаю вышеобозначенный не только поверхностным, но и вводящим в заблуждение.
Актуален один вопрос — так ли хорошо защищает тот или иной продукт от снятия защиты? Учитывая, что производители обфускаторов честно предупреждают — сборка остается дизассемблируемой. И это краеугольный камень проблемы защиты .Net приложений. Тотальная защита приводит к неудобствам запуска сборки в разных средах, обфускация — к условной открытости кода. Остается решать задачу по усложнению получения кода, его читабельности и снятию защиты.

Итак, что мы имеем:
Читать дальше →

И снова про Решарпер…

Время на прочтение1 мин
Охват и читатели1.5K
Многие из вас наверняка слышали об “аукционе невиданной щедрости” от Microsoft, в котором небольшие компании могут приобрести себе VS2010 со скидкой 60%, при условии, конечно, что в самой компании не более 20 программистов, и покупается не более 10 лицензий.

Но, имхо, за кадром осталась еще одна, не менее интересная новость – а именно то, что вместе со студией можно также прикупить… (барабанный бой)… ReSharper, причем с 80% скидкой. Поэтому если вы, например, сидите на 2005 или 2008, самое время пнуть вашего PM/DM/десижнмейкера и покидаться в него такими словами как “рефакторинг”, “производительность”, и т.п.

Сей праздник жизни продлится до 22 Ноября. Что касается Решарпера, то условии акции описаны тут, ну а собственно форма заказа находится тут.

Ликвидатор велосипедов, часть 3: языки программирования

Время на прочтение4 мин
Охват и читатели2.8K
Вообще говоря, речь пойдет о разработке компиляторов не Just for fun, а для каких-либо проектов. Это могут быть проекты для внутреннего использования, или может быть это будут проекты, которые направлены на продажу. А может быть, на самововлечение сообщества для последующего доения этого сообщества. Я не буду разбирать причины, по которым может показаться, что создание нового языка программирования выведет компанию на новый уровень, однако причины находятся, языки пишутся, создавая, на мой взгляд, огромные проблемы, как самой компании, так и сотрудникам этой компании.

Ссылка на первую часть серии: оконные системы
Ссылка на вторую часть серии: построение графиков

Читать дальше →

Ликвидатор велосипедов: часть 2

Время на прочтение3 мин
Охват и читатели34K
Исходя из того, что первая статья насобирала много плюсов и попала в избранное большого количества человек, я понял что тема актуальна и во-первых призываю подтянуться сообщество (ведь я не могу знать абсолютно все библиотеки и решения), а во-вторых буду продолжать своими силами рассказывать о том какие библиотеки можно подтянуть, если необходимо что-то сделать вместо того чтобы делать все новые и новые велосипеды, состоящие из водопроводных труб.

В этом топике я затрону важную для многих тему — тему рисования графиков в платформе .NET. Вспомните: ведь наверняка когда-то было просто необходимо вывести на экран красивый график… И что происходило? Правильно, появлялся новый велосипед.

Часть первая из серии



Читать дальше →

Работа с Tier Interaction Profiler ( TIP )

Время на прочтение6 мин
Охват и читатели2.1K
Это малоизвестная функция входящая в состав Visual Studio 2010 Premium которой я хочу посвятить немного времени и познакомить вас с ней. Она полезна когда вы пытаетесь определить почему ваше приложение ASP.NET не работает с такой производительностью с которой должно было бы, и как построены запросы приложения к базе данных, улучшают ли они производительность или снижают.
Читать дальше →

Big switch или жизнь после Microsoft: Почему мы сказали .NET'у нет

Время на прочтение3 мин
Охват и читатели12K
До недавнего времени предано нес знамя Microsoft .NET. Восхвалял Silverlight, ASP.NET MVC и верил в чудеса. За четыре года работы c .NET стал сертифицированным разработчиком по широкому спектру
технологий: ASP.NET, WCF, WPF, ADO.NET. Однако за год существования собственного интернет агентства разочаровался в выбранном пути и обратился в другую веру.
image

В серии статей “Big switch или жизнь после Microsoft” я расскажу об опыте полученном нашей командой при переходе со стэка веб-технологий Windows + .NET на Linux + Ruby on Rails, а также приведу конкретные инструкции к применению, которые помогут на первых порах.

Начну я с 3-х причин, которые побудили нас сказать .NET'у нет.
Читать дальше →

Microsoft предлагает 3500 лицензий Visual Studio со скидкой 60%

Время на прочтение1 мин
Охват и читатели1.3K
image 11 октября Microsoft запутит акцию: Инициатива по лицензированию разработчиков ПО. В период действия программы, с 11 октября по 22 ноября, каждый из вас сможет приобрести новую версию Visual Studio 2010 Professional со скидкой 60 %, то есть по цене от 6 499 руб. Всего по акции доступно 3500 лицензий!

Как говорится в письме биллютеня msdn, в рамках данной инициативы Microsoft предоставляет возможность приобрести Visual Studio с большой скидкой, что позволит вам одновременно экономить, сохраняя рабочие места, и при этом развиваться, запуская новые проекты.

PS: Желаю удачи тем, кому пригодятся эти лицензии

Ликвидатор велосипедов: часть 1

Время на прочтение3 мин
Охват и читатели15K
imageЭтим постом я начинаю серию статей, которые должны помочь каждому разработчику избавиться от велосипедов в своих последующих и текущих проектах. Усилить код и увеличить функционал. Каждый из нас хочет внести в свою программу нечто, что сделает ее богаче, но зачастую решение либо не находится, либо лень тратить время на поиски… Либо внутри сидит глупая уверенность что это можно реализовать быстро и не менее функционально. В любом случае я хочу чтобы каждый пробежался глазами по спискам библиотек, которые я вам предоставлю на суд, и чтобы у каждого эти библиотеки отложились в памяти. И когда их функционал пригодится в будущем, я очень надеюсь что вы вспомните этот пост и поищите эти библиотеки вместо того чтобы писать все новые и новые велосипеды, полные палок в колесах.
Начну я с оконных менеджеров.
Читать дальше →

Ближайшие события

Вызов native кода из C#. Маршалинг структур

Время на прочтение3 мин
Охват и читатели17K

Все чаще перед разработчиками стала вставать задача вызова native методов из managed кода. В большинстве случаев — вызов сделать достаточно просто, но иногда встречаются неприятные случаи, такие как метод, который содержит структуру с динамическим массивом структур, содержащих динамический массив структур.
Опытом такого маршалинга хочу поделиться.

Приглашаем авторов для создания электронного журнала по .NET

Время на прочтение2 мин
Охват и читатели1.1K
Приглашаем независимых специалистов и экспертов, студентов-партнеров и других заинтересованных людей присоединиться к проекту по созданию электронного журнала, посвященному разработке для платформы .NET.
Читать дальше →

Проблема с безопасностью при использовании аутентификации формами в ASP.NET

Время на прочтение2 мин
Охват и читатели2K
Сообщает Peter Vogel

Два исследователя безопасности, Тай Донг (Thai Duong) и Джулиано Риццо( Juliano Rizzo), обнаружили баг в используемом по умолчанию механизме шифрования, который задействован в защите куки, обычно применяемых для реализации аутентификации формами (Forms Authentication) в ASP.NET. С помощью разработанного исследователями инструмента (Padding Oracle Exploit Tool или POET), можно многократно модифицировать куки, зашифрованные с помощью механизма шифрования AES и, исследуя возвращаемые ошибки, вычислить машинный ключ (Machine Key), используемый для шифрования куки. По утверждениям исследователей, процесс надёжен на 100% и занимает от 30 до 50 минут для любого сайта.

Читать дальше →

Мини-задачка: «олд-скульное» дерево

Время на прочтение3 мин
Охват и читатели1.9K

Постановка задачи



Буквально несколько дней назад Eric Lippert на своем блоге Fabulous Adventures In Coding опубликовал очень простую, но занимательную задачку:

Есть дерево, заданное с помощью класса Node, в котором есть Children с теми же самыми Node и какой-то Text (чуть ниже приведу код класса). Необходимо сгенерировать строку такого вида (включая переносы строк):
Использовать нужно юникодовые символы "│ ├ ─ └" (вспомним старые добрые картинки с псевдографикой). Цель, которую поставил себе Эрик — выяснить, какие предпочтения будут сделаны при составлении решения: рекурсивное (так как дерево), более быстрое или более читабельное.
Читать дальше →

GLGDI+ или «переходим с GDI+ на OpenTK»

Время на прочтение3 мин
Охват и читатели17K
Думаю, многим приходилось сталкиваться с проблемой, что GDI+ тормозит, а тормозит, потому что не ускоряется железом.
Вот и я как-то писал редактор уровней

и понял, что GDI+ мне больше не хватает, нужно переходить на что-то ускоренное, причем за минимальное время. Немного погуглив, я решил остановить свой выбор на библиотеке OpenTK.
Читать дальше →

Распараллеливание задач. Случай «идеальной параллельности». Часть 2

Время на прочтение13 мин
Охват и читатели19K

Предлагаемые решения в .NET 4


Это вторая часть статьи, посвященной распараллеливанию идеальных циклов. В первой части были рассмотрены проблемы, возникающие при этом, и общие подходы к их решению. В этой мы поговорим о конкретных библиотечных компонентах, предоставляемых .NET 4.0 для поддержки этих задач.

Для распараллеливания «идеальных» циклов предоставляются следующие варианты:
  • класс System.Threading.Tasks.Parallel с методами For (), ForEach ()
  • Parallel LINQ с методом расширения AsParallel ().


Читать дальше

С Днем Программиста

Время на прочтение1 мин
Охват и читатели8.7K
image

День Программиста традиционно отмечается на 256-й день года. Число 256 выбрано потому, что это количество чисел, которые можно выразить с помощью одного байта. В високосные годы этот праздник попадает на 12 сентября, в невисокосные — на 13 сентября.
Читать дальше →

Вклад авторов