Как стать автором
Обновить
245.54

.NET *

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

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

Решение проблемы с кодировками в Mono

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

Проблема.


В целом, эта проблема может по-разному проявляться. В моём случае это был SharpDevelop, напрочь отказавшийся компилировать Hello world, который в командной оболочке (в том числе, через NAnt) собирается без ошибок.
Читать дальше →

Fluent NHibernate

Время на прочтение2 мин
Количество просмотров8.6K
Интересующимся O/R маппингом, а, в частности, NHibernate, будет интересен этот проект.
В первой версии NHibernate существовало две возможности описать O/R преобразование. С помощью атрибутов и в XML файле (более популярный). Наблюдались проблемы с поддержкой и тестированием. Fluent NHibernate позволяет описать преобразование вот таким вот способом:
как?

Работа с WMI. События для процессов

Время на прочтение4 мин
Количество просмотров8.5K
Мониторить список процессов можно разными способами, мне понравился вариант с использованием WMI, с помощью которого, мы можем обработать событие создание процесса, изменения, удаления и т.п.

интересно, что же дальше?

Основы NHibernate. Часть 1

Время на прочтение10 мин
Количество просмотров61K
Не так давно попался под руки новый проект. До сих пор, в основном, приходилось допиливать старые. В проекте предполагалось использование БД. Погуглив немного решил отказаться от старых методов работы с данными в пользу ORM. Да, есть много кодогенераторов(например, CodeSmith), которые в считанные секунды создадут уровень доступа к данным, но такие решения не отличаются гибкостью, а при дальнейшем развитии грозят превратиться в кошмар. Хотя и у ORM тоже есть свои недостатки. Но обо всем по порядку. Сейчас же я хочу поделиться с вами моим опытом в освоении одного из представителей мира ORM — NHibernate. Почему из всех возможных ORM я выбрал для изучения NHibernate? Во-первых, потому что надо было выбрать что-то одно. Во-вторых, история NHibernate уходит глубоко корнями в ORM-фреймвокр Hibernate для Java и является достаточно зрелым решением. Больше пока, вроде, и нет аргументов, но, думаю, они появятся позже при более близком знакомстве с NHibernate.
Читать дальше →

DotNet Reflector

Время на прочтение1 мин
Количество просмотров1.4K
Хороший инструмент от Lutz Roeder сменил хозяина.
Теперь новые версии этой утилиты надо искать на сайте Red Gate, известного стороннего разработчика утилит для различных сред разработки от Microsoft.
Ссылка на download page: http://reflector.red-gate.com

Советы по Visual Studio / Sara Ford

Время на прочтение1 мин
Количество просмотров1.3K
Хочу поделиться с Вами ссылочкой на полезные советы по работе с Visual Studio от Sara Ford.Sara Ford известна как автор, пожалуй, наиболее популярного сетевого дневника, посвященного работе в Microsoft Visual Studio.
Английская версия намного больше, чем русская!

ASP.NET AJAX 4.0 CodePlex Preview 1

Время на прочтение1 мин
Количество просмотров897
Стал доступен (для целей тестирования) прототип будущего ASP.NET AJAX 4.0 про который писалось тут.

www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=15511

Из интересного в данном релизе отмечаются:
* Client-side template rendering
* Declarative instantiation of behaviors and controls
* DataView control
* Markup extensions
* Bindings

Обещается поддержка следующих браузеров:
* Internet Explorer 7.0.5730
* Firefox 2.0.0.16 and 3.0
* Safari 3.1.2
* Opera 9.51

PS:
на самом деле, архив содержит два js-скрипта (релиз- и дебаг-версии MicrosoftAjaxTemplates.js), для использования которых необходимо включить их в код страницы.
PPS:
Первый пример с новыми фичами уже можно заценить здесь

Завершение поддержки .Net Framework 1.1

Время на прочтение1 мин
Количество просмотров573
Согласно жизненному циклу представленному Микрософт по адресу:

support.microsoft.com/lifecycle/?LN=en-us&x=6&y=12&p1=1249

.Net Framework версии 1.1 более не будет поддерживаться после 14 октября 2008 года, что можно считать формальной датой «смерти» первого фреймворка. По моему, это значимая дата, отметка в истории .net-разработки. И хотя сейчас трудно найти мелкие и средние развивающиеся проекты на .net 1.1, все равно они существуют и, наверняка, их еще больше в сегменте крупных проектов. Для совсем крупных партнеров Микрософт существует расширенная программа поддержки, которая продлится до, ни много ни мало, 2013 года.

PS:
Напомню, последней версией .Net Framework недавно стала 3.5 sp1.

Анонимные типы за пределами функции

Время на прочтение2 мин
Количество просмотров12K
Анонимные типы — очень приятное расширение C#, появившееся в версии 3.0. С помощью анонимных типов мы можем налету создать объект-хранилище и наполнить его данными.
Основное применение анонимных типов — это, конечно, LINQ. Фактически, они и были созданы для него (вообще говоря, все нововведения C# 3.0 были сделаны для LINQ, за исключением, пожалуй, частичных методов).
var o = new {Bar=2, Foo="string"};

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

Определение причины закрытия приложения 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 мин
Количество просмотров947
Не обнаружил на Хабре описания полезного сайта. Собственно, решил поделиться с коллегами информацией и выслушать мнения о нём. В рамках превращения Visual Studio из среды разработки в целую платформу, Microsoft ещё полгода назад (27 февраля 2008) открыла сайт, посвященный всякого рода дополнениями и расширениями к Visual Studio. В сумме с репозиторием CodePlex получается довольно неплохо;)

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

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


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


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


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

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

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

Проблема


Работая над 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. Все ли используют его? Может кто-то пользуется чем нить альтернативным? Чем-то полегче?

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