Обновить
100.13

.NET *

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

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

Определение причины закрытия приложения Windows Forms (.Net)

Время на прочтение2 мин
Количество просмотров4.4K

Предпосылки к написанию статьи


Я работал над одним приложением и мой клиент захотел, чтобы оно реагировало на завершение работы системы. Я вспомнил, что многие приложения производили некоторые действия при закрытии, но я редко встречал программу, которая различала бы способ её закрытия — пользователем или системой. И я подумал, почему бы не показать людям, что можно кое-что изменить в дизайне приложения.
Читать дальше →

asp.net: ListView с разных сторон

Время на прочтение7 мин
Количество просмотров16K
Элемент управления ListView был представлен в .Net Framework 3.5 как замена устаревшему GridView. Новый элемент имеет более расширенный функционал, чем его предшественник, но в тоже время лишен некоторых внутренних механизмов, что впрочем целиком следствие из расширенной универсальности ListView. Среди отличий ListView и GridView можно назвать и гибкую настройку разметки, что позволяет выводить данные не только в табличном виде, но и вообще в любом каком пожелает программист. Благодаря шаблонам ItemTemplate, EditItemTemplate, InsertItemTeplate можно настроить внешний вид при любом из состояний ListView: редактировании или выборе элемента.

Я решил написать эту статью, чтобы поделиться опытом работы с ListView, привести некоторые способы решения общих задач, а также описать проблемы с которыми я столкнулся и которые у меня получилось решить не слишком красиво. Возможно, что при обсуждении статьи найдутся более гибкие решения описанных задач, чему я буду только рад.
Читать дальше →

Замыкания в C#

Время на прочтение2 мин
Количество просмотров65K
Перед прочтением статьи, ответьте на следующий вопрос — что будет напечатано, после исполнения следующего кода?

P p = Console.WriteLine; // P объявлен как delegate void P();
foreach (var i in new [] { 1, 2, 3, 4 }) {
  p += () => Console.Write(i);
}
p();
Элементарно?

Visual Studio Gallery

Время на прочтение1 мин
Количество просмотров956
Не обнаружил на Хабре описания полезного сайта. Собственно, решил поделиться с коллегами информацией и выслушать мнения о нём. В рамках превращения Visual Studio из среды разработки в целую платформу, Microsoft ещё полгода назад (27 февраля 2008) открыла сайт, посвященный всякого рода дополнениями и расширениями к Visual Studio. В сумме с репозиторием CodePlex получается довольно неплохо;)

CAPTCHA для Вашего сайта

Время на прочтение2 мин
Количество просмотров18K
Сегодня я расскажу о том, как можно быстро и легко прикрутить проверку CAPTCHA на Ваш сайт.


Для тех, кто не в курсе, CAPTCHA это автоматизированный тест Тьюринга для различения компьютеров и людей. Подробнее о том, что такое CAPTCHA можно почитать на википедии.


В данном примере я воспользовался бесплатным сервисом recaptcha.net. Вам придется пройти регистрацию, чтобы работать с ним, ибо понадобятся Public и Private ключи.


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

Windows mobile: один экземпляр приложения

Время на прочтение2 мин
Количество просмотров1.6K

Проблема


Работая над windows mobile проектом (Visual Studio 2008, .net cf 3.5, C#) столкнулся с проблемой контроля запуска одного экземпляра приложения. К сожалению создатели .net compact framework 3.5 (и ранних версий) не включили возможность поиска процесса по его имени — метод System.Diagnostics.Process.GetProcessesByName(). Дополнительных методов, которые с помощью управляемого кода помогли бы решить проблему, обнаружено не было.
решение...

ASP.NET: расширяем механизм путей SiteMapPath

Время на прочтение3 мин
Количество просмотров2.2K
При разработке на ASP.NET мы привыкли для стандартных задач использовать стандартные компоненты. Одной из таких стандартных задач является вывод на каждой странице сайта пути к ней от главной страницы — фрагмента карты сайта (sitemap path). Для этого используется контрол SiteMapPath, берущий данные о карте сайта от провайдера карты сайта (SiteMapProvider) по умолчанию, который, в свою очередь, берет их из конфигурационного файла Web.siteMap.

Поместив этот контрол на мастер-страницу сайта, и описав в конфигурационном файле карту сайта, мы тем самым обеспечиваем вывод пути на всех страницах.

Но ASP.NET — расширяемая среда, и позволяет замещать почти все стандартные модули, и провайдер карт сайта — не исключение. Мы рассмотрим, как создать свой провайдер для получения расширенной функциональности для карты сайта.

Читать про SiteMapPath с динамическим содержимым

Active Directory Sync

Время на прочтение6 мин
Количество просмотров5.8K
По долгу службы пришлось разбираться с Active Directory. Пришлось почитать, поэкспериментировать с классами, но всё в результате заработало превосходно.

В первую очередь хотелось бы описать немного Directory Synchronization объект, который появился в .net framework 2.0. О нём, и о других преимуществах 2го framework вы сможете почитать на сайте microsoft (http://msdn.microsoft.com/en-us/magazine/cc188700.aspx ). Лично мне статья помогла разобраться, хотя я обилия информации в сети на предмет dyrSync нет.
Читать дальше →

ASP.NET MVC на реальном примере. Теория и вступление.

Время на прочтение9 мин
Количество просмотров65K
Команда Microsoft очень интенсивно развивает свои продукты и средства для разработчиков. На эту тему уже и выхлопы шуточные были, по поводу выхода новых версий фреймворков. Разработчики, которые работают в крупных компаниях, ввязаны в большие проекты в общем-то без особого энтузиазма на это смотрят, так как такие махины нельзя в короткие сроки перевести на новую версию. Может быть чревато как всплыванием багов, так и изменением всей структуры проекта, что делать не всегда получается легко. Сказанное выше, к сожалению (или к счастью), меня не касается и это дает мне возможность использовать все самое новое без оглядки на бекграунд. Проекты довольно таки обозримые, часто переводятся на новую версию безболезненно, и новые фичи начинаю внедрять уже при реализации следующей задачи в пректе. На момент внедрения это, конечно, вносит некий хаос в код, так как в разных кусках кода используются разные принципы (например, внедрение LINQ), но последующий рефакторинг кода приводит все к единому виду и все приходит в норму.

К чему все это?


Одним из таких нововведений является ASP.NET MVC — реализация шаблона Model-View-Controller под платформу .NET. Попробуем разобраться что же это такое, зачем нужно, и применим наши знания на простом, но реальном приложении.
Приступим

Средства коллективной разработки.

Время на прочтение1 мин
Количество просмотров6.8K
Всем хорошего вечера понедельника (если такое возможно). Хочу спросить у тех кто пишет под .NET платформу, какие средства коллективной разработки они используют? Понятно что есть VS Team systems. Все ли используют его? Может кто-то пользуется чем нить альтернативным? Чем-то полегче?

ASP.NET AJAX Roadmap

Время на прочтение1 мин
Количество просмотров1K
Возможно, многим будет интересно, что можно ожидать в будущем от ASP.NET AJAX. К счастью, разработчики asp.net поделились с нами своими планами выпустив ASP.NET AJAX Roadmap.

Из интересного можно отметить большое движение в сторону клиентских технологий и введение механизмов легкой манипуляции DOM-объектами через селекторы вроде такого $query(“input[type=text][value~=foo]”). Надеюсь, у Микрософт получится удачный конкурент jQuery, может быть не такой маленький, но не менее функциональный и для asp.net родной.

Еще вроде бы обещают клиентские элементы управления вроде таблиц, treeview и даже Rich text editor.

В целом, впечатления от роадмапа положительные. AJAX от Microsoft развивается, и планы развития мне по душе.

WPF Datagrid от XcEEED

Время на прочтение1 мин
Количество просмотров9.3K
Хочу поделиться приятной находкой, с теми, кто юзает WPF. Готовый DataGrid, бесплатный, для версии с ограниченными возможностями.
Читать дальше →

Внедряем Health Monitoring System в любое ASP.NET приложение за минуту

Время на прочтение3 мин
Количество просмотров5.3K
Сегодня мы рассмотрим очень интересную и полезную штуку, которую можно внедрить всего за минуту в любое ASP.NET приложение, изменив один файл.
Для начала попытаюсь дать определение Health Monitoring System(далее HMS).
HMS — это модуль, который будет следить за вашим сайтом и реагировать на определенные события. В этой статье мы займемся реализацией конкретного случая: нам на почту будут приходить письма с различной информацией при возникновении критических ошибок.
Читать дальше →

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

Внедряем Health Monitoring System в любое ASP.NET приложение за минуту

Время на прочтение3 мин
Количество просмотров1K
Сегодня мы рассмотрим очень интересную и полезную штуку, которую можно внедрить всего за минуту в любое ASP.NET приложение, изменив один файл.
Для начала попытаюсь дать определение Health Monitoring System(далее HMS).
HMS — это модуль, который будет следить за вашим сайтом и реагировать на определенные события. В этой статье мы займемся реализацией конкретного случая: нам на почту будут приходить письма с различной информацией при возникновении критических ошибок.
Читать дальше →

XmlSerializer — Assembly Leak без спроса :)

Время на прочтение5 мин
Количество просмотров6K

Коротко о главном


В некоторых частях .NET Framework, таких как XmlSerializer, используется внутреннее динамическое создание кода.XmlSerializer создает временные файлы C#, компилирует результирующие файлы во временную сборку и затем загружает эту сборку в процесс. Такое создание кода тоже стоит сравнительно дорого, поэтому XmlSerializer размещает временные сборки в кэш, по одной на каждый тип. Это значит, что в следующий раз при создании кода XmlSerializer для класса Х не будет создаваться новая сборка, а будет использована сборка из кэша. Однако, не все так просто.
В некоторых случаях происходят утечки сборок...

asp.net: Trace — полезная фича

Время на прочтение1 мин
Количество просмотров1.8K
Не сказал бы что мало программирую на asp.net или плохо его знаю, но вот с этой его фичей познакомился только сегодня.
<%@ Page Trace=«true» %>* This source code was highlighted with Source Code Highlighter.

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

Сам себе RSS ридер

Время на прочтение12 мин
Количество просмотров14K
Однажды, в середине 5-го курса, попросила меня одногрупница помочь ей с лабами по
C#, так как его она только изучала. Узнав задание – «написать RSS ридер» — и оценив
ситуацию – конец семестра – я решил ей помочь, так как RSS ридер нужен был самому.

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

Простейший Feed-ридер за 10 минут

Время на прочтение3 мин
Количество просмотров8.4K
Была у меня идея, написать статью, о том, как можно создать свой RSS-ридер. Я даже начал ее реализовывать, но вчера на хабре появилась статья Maxter’a — Генерация RSS фидов с помощью класса Syndication. В этой статье рассматривался набор классов Syndication, для работы с фидами (Feeds) RSS и Atom. Благодаря Syndication можно не только генерировать фиды, но и читать их. В этой статье я хочу представить простейший пример RSS/Atom ридера, который можно написать буквально за 10 минут. Правда, доступна эта возможность только в .Net Framework 3.5…

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

Генерация RSS фидов с помощью класса Syndication

Время на прочтение3 мин
Количество просмотров2.5K
Мне не понятно, почему такой чудесный фреймворк как .NET имеет такую маленькую популярность в странах СНГ. Ведь у него есть все необходимое для создания проектов любого уровня сложности, а особенно для веб-проектов. И он ничем не хуже, например, модного ныне Ruby on Rails, имхо даже лучше. Кстати, если вам так нравится концепция MVC программирования, можно попробовать ASP.NET MVC framework.

Всвязи с этим у моей статьи предполагается две целевые группы: люди, которые уже пишут на .NET и которым будет интересно узнать о генерации RSS фидов, и не .NET программисты, которым я постараюсь показать легкость и изящность решения различных задач в этом фреймворке на примере генерации RSS. Итак, начнем. Использовать будем .NET 3.5 и C#.
Читать дальше →

В Visual Studio 10 будет поддержка UML

Время на прочтение1 мин
Количество просмотров1.4K
Это будет «Because it's important,» said Norman Guadagno, director of Visual Studio Team System (VSTS)"
Дело происходило на Microsoft's TechEd.
Оригинал новости тут.

Теперь главный вопрос, а на каком уровне это будет? Меня, например, «обратная инженерия» интересует.

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