Обновить
103.02

.NET *

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

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

Comet для ASP.NET своими руками

Время на прочтение14 мин
Количество просмотров11K
Не так давно в рамках разработки крупного ASP.NET проекта возникла следующая подзадача: реализовать визуальное отображение табличных данных, обновляющихся в режиме real-time. Схема обновления довольно проста, а именно: на сервер посредством QueryString присылаются данные, которые должны как можно быстрее заменить собой устаревшие данные на странице, причем без необходимости страницу эту рефрешить. Первым решением, которое сразу же пришло мне в голову, было использовать ставшую уже общепринятой технику AJAX-запросов по таймеру, скажем, каждые 5 секунд. Однако сразу же выявились очевидные недостатки применения такого подхода: во-первых, довольно внушительное число потенциальных клиентов, дергающих сервер каждые 5 секунд с созданием каждый раз нового соединения, а во-вторых, это все-таки довольно грубая эмуляция real-time'а, ведь данные на сервер гипотетически могут приходить даже по несоколько раз в секунду (а могут не приходить и по несколько минут, и это уже больше относится к «во-первых»).

Идея решения пришла довольно неожиданно от коллеги по работе, поделившегося линком на статью на Хабре, описывающую реализацию технологии Comet на Perl в целях создания веб-чата. "Comet — это то что нужно!", — подумали мы, и я начал разбираться, как же эту штуку можно прикрутить к ASP.NET. О чем, собственно, и пойдет речь под катом.

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

ASP.NET 4.0: руководство для разработчиков

Время на прочтение3 мин
Количество просмотров4.5K
Добрый день!

Общими усилиями DioNNiS, ohoncharuk и немножко меня была создана брошюра «ASP.NET 4.0: руководство для разработчиков». Это руководство на 64 страницах содержит краткое описание нововведений новой версии популярной технологии ASP.NET.

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

Benchmark: AutoMapper vs BLToolkit vs EmitMapper

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

О чем речь?


Речь в этой заметке пойдет о библиотеках для автоматического копирования полей одного объекта в поля другого (мэппинг объектов). О том, для чего это надо можно почитать, например, тут.

Предлагаю рассмотреть следующие библиотеки, с помощью которых можно решить вышеописанную задачу:

1) AutoMapper
2) BLToolkit
3) EmitMapper

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

Visual Studio 2005/2008 PasteBin via C#

Время на прочтение12 мин
Количество просмотров2.3K
Проект, описанный в данной статье, являет собой мой первый опыт программирования на C# .NET, посему прошу не судить строго.

Многие из нас пользуются Microsoft Visual Studio и, я полагаю, большинство для обмена кодом использует клевый ресурс .

«Так зачем тратить время на загрузку этого сайта в браузере, копипаст кода в форму и нажатие кнопок», — подумал я и решил написать плагин для Студии, добавляющий в контекстное меню редактора кода пункт «PasteBin». Простым кликом на него вы заставите выделенную часть исходного кода переслаться на и, после этого, уникальный URL, созданный сайтом PasteBin, окажется в вашем буфере обмена.

Для работы я использую Microsoft Visual Studio 2008, но в 2005 все абсолютно аналогично.
Итак, все начинается с создания проекта.

Sedge — приложение для автоматизированного создания отчетов об ошибках

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

Небольшое лирическое отступление


Так получилось, что в последнее время я занимаюсь разработкой программ работающих в связке с различным оборудованием. На прошлой работе это были роботы и станции тестирования для полупроводниковой промышленности, на текущей – масс-спектрометры для химии и медицины. Казалось бы, совершенно различные отрасли и назначение программ, но с точки зрения разработчика есть много общих моментов.

Типичную конфигурацию, с которой мы работаем, можно описать так: станция, к которой присоединен клиентский компьютер. На компьютере установлено базовое приложение, взаимодействующее с оборудованием и предоставляющее интерфейсы для сбора данных. Этими интерфейсами пользуется десяток вертикальных приложений, необходимых для решения конкретных задач пользователя. Для решения одной задачи обычно необходимо взаимодействие двух-трех приложений. Весь этот набор приложений зависит от многочисленных конфигурационных файлов и генерирует большой объем отчетов и данных.

Это длинное вступление было необходимо для того, что бы объяснить, почему когда в системе происходит ошибка, для ее локализации нам важно как можно точнее знать состояние системы. Отчет об ошибке может включать несколько десятков файлов – логи, конфигурационные фалы, файлы данных и проектов. Объяснять пользователю, по телефону, как все это собрать – не самое приятное занятие.

Если вы находитесь в похожей ситуации, то вам может пригодиться программа для автоматизации создания отчетов об ошибках – Sedge. С ее помощью вы можете опросить пользователя о произошедшей ошибке, автоматически сформировать отчет, включающий пользовательскую информацию, данные о системе, все необходимые файлы, упаковать и отправить его.
Читать дальше →

Geotagging — привязка фотографий к карте

Время на прочтение9 мин
Количество просмотров40K
Уверен что про geotagging слышало подавляющее большинство хабраюзеров, особенно те кто интересуется фотографией. Для тех же, кто все таки не слышал поясню — в двух словах geotagging есть внедрение Exif тегов содержащих информацию с координатами GPS в фотографии с последующей привязкой фотографий к карте.

Возможность просмотра привязанных к картам фотографий предоставляет большинство современных фото-хостингов — PicasaWeb, Flickr, Яндекс-Фотки и прочие, да и десктопные программы подтягиваются, например Picasa.

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

Автоматизация Undo/Redo функциональности с помощью .NET Generics

Время на прочтение11 мин
Количество просмотров6.1K
Перевод статьи Automating Undo/Redo with .NET Generics Сергея Архипенко.

Введение

Эта статья описывает библиотеку, которая предоставляет undo/redo функциональность для каждого действия в вашем приложении. Вы можете использовать сложные структуры данных и сложные алгоритмы не задумываясь о том, как они будут переведены в предыдущее состояния по запросу пользователя или в результате возникновения ошибки.

Предпосылки

Если вы когда-нибудь разрабатывали графический редактор или дизайнер для сложных данных, вы сталкивались с трудоёмкой задачей реализации undo/redo функциональности, которая бы поддерживалась во всём приложении. Реализация парных Do и Undo методов для каждой операции скучный и подверженный ошибкам процесс, когда вы разрабытываете что-либо более серьёзное, чем калькулятор. В результате моих экспериментов я нашёл способ сделать поддержку undo/redo прозрачной для бизнес логики. Чтобы этого добиться, мы будем использовать магию generics.
Этот проект опубликован на CodePlex, чтобы каждый мог его использовать или внести свой вклад.

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

Вебкасты об ASP.NET

Время на прочтение1 мин
Количество просмотров959
Запись со встречи Санкт-Петербургских групп Ineta ft. ALT.NET (23 ноября 2009 года) посвященная работе с технологией Microsoft ASP.NET и нововведениям в 4ой версии by Vitaly Baum

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

[Перевод] Я все еще не просек F#

Время на прочтение2 мин
Количество просмотров2.2K
Я думаю, что Microsoft пытается продать нам F# как что-то новое и крутое, но у меня серьезные проблемы с пониманием приемуществ F# перед C#.

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

Нужна ли книга по F# на русском языке?

Время на прочтение1 мин
Количество просмотров3K
Совсем скоро выйдет Visual Studio 2010, в которую будет включен язык программирования F#. Язык довольно новый, но уже полюбившийся многим программистам со всего мира, в том числе и из России. Литературы для его изучения пока очень мало, а на русском языке так и подавно.

Предлагаю Вам помочь устранить этот недочет. А сделать это довольно просто – зайти на блог издательства Вильямс и ответить на вопрос – нужно ли переводить вскоре выходящую книгу “The Definitive Guide to F#” на русский язык? Написана она одним из главных идеологов и создателей языка F#, так что информация там, действительно, актуальная и познавательная.  Если отзывов наберется достаточно, то книга, скорее всего, появится уже совсем скоро в России. Если нет, то мы упустим уникальную возможность одними из первых изучить данный язык и оказаться на гребне программисткой волны.

Собственно, решать Вам. Если Вы за, то напишите, пожалуйста, об этом на специальной страничке. Спасибо.

WPF 4

Время на прочтение11 мин
Количество просмотров31K
Нововведения в WPF 4image

WPF (Windows Presentation Foundation) — один из компонентов ядра .NET Framework, который позволяет разработчикам создавать богатые, различные Windows приложения. WPF 4 содержит важные улучшения в продуктивности, производительности, возможностей — в частности в областях: элементов управления, XAML, текста, графики, интеграции в Windows 7 (мультитач, интеграция в панель задач, и т.п.), основных принципов работы, развертывания. Это только первая статья из серии, которая описывает нововведения.

Я напишу отдельную статью, которая опишет важные изменения, которые грядут в WPF и Silverlight конструкторах в VS 2010.
Читать дальше →

Вычисляем динамические выражения на C# 4.0 с помощью dynamic

Время на прочтение12 мин
Количество просмотров2.9K
Здравствуйте.
Вчера я опубликовал на Хабре перевод статьи об одной из новых возможностей четвертой версии C# 4.0 – ключевого слова dynamic. В комментариях развернулась бурная дискуссия, основными мотивами которой было две вещи: производительность динамиков и область их применения. В этой статье я не буду затрагивать первый вопрос, а попытаюсь привести пример того, как новая возможность позволяет решить вполне реальную задачу за пару часов с минимальными усилиями.
Читать дальше →

Интересные вещи, которые можно делать с dynamic в .NET 4.0

Время на прочтение6 мин
Количество просмотров5.1K
В статье «Обзор C# 4.0» я обсуждал некоторые из новых особенностей четвертой версии языка C#. Так получилось, что я не рассмотрел одно из самых важных нововведений: ключевое слово dynamic.
Читать дальше →

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

.NET ft. YAML

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

Введение


Разработчики нередко встречаются с проблемами конфигурации приложений, обычно для этих целей используется XML, в данной статье я хочу обратить внимание на более дружелюбный язык разметки.
YAML (YAML Ain’t Markup Language) – язык (существует с 2001 года) для серилизации данных, ориентированный на чтение и редактирование человеком типичных структур данных. Язык, как нетрудно догадаться, межплатформенный. Известен, в большинстве своём, использованием в Ruby On Rails в качестве средства конфигурирования. Подробнее на русском здесь: http://ru.wikipedia.org/wiki/Yaml
Читать дальше →

Windows API Code Pack для .NET Framework

Время на прочтение4 мин
Количество просмотров8.6K
Недавно вышла библиотека Windows API Code Pack 1.0.1. Это не крупное обновление с множеством новых функций, а, скорее, версия, направленная на исправление ошибок, повышение производительности, добавление примеров и обновление нескольких функций (новые оболочки и т.д).

Но прежде чем углубиться в новую версию Windows Code Pack, давайте рассмотрим, что же он из себя представляет.

Windows 7 предлагает такие новые функции, как, например, панель задач, библиотеки, платформа Sensor and Location. Эти функции предполагают новые сценарии и предоставляют разработчикам новые возможности, чтобы лучшим образом адаптировать свои приложения для Windows 7. Все эти функции доступны через Win32 API. На данный момент в .NET Framework нет пространства имен «Windows 7», и также нет простого способа использовать эти функции из приложений, написанных на управляемом коде. Чтобы упростить доступ к ним разработчикам, использующим управляемый код, в августе мы выпустили 1.0 версию Windows API Code Pack for .NET Framework (сразу после Windows 7 RTM).

Windows API Code Pack – это бесплатная библиотека управляемых исходных кодов, поставляемая Microsoft как есть. Вы должны относиться к ней, как если бы сами написали ее, как если бы это был ваш собственный код. Она охватывает множество новых функций Windows 7, а также некоторые из наиболее важных функций Windows Vista. Можете считать Windows API Code Pack вещью наиболее близкой к «официальному» управляемому API для Windows. Но следует помнить, что служба поддержки Microsoft не обеспечивает этому продукту 24х7 поддержку. Мы верим, что это – замечательное решение и что база кода является очень надежной и высококачественной.

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

Вышел ASP.NET MVC 2 Release Candidate

Время на прочтение1 мин
Количество просмотров398
imageЗначительная новость для всех разработчиков ASP.NET: доступна для загрузки новая версия MVC Framework 2 RC. MVC выходит на финишную прямую и достигает уровня кандидата на релиз. Это означает, что изменений в функционал вносится больше не будет, но активно будут исправляться ошибки и неверное поведение обнаруженное сообществом разработчиков.

С другой стороны, MVC 2 RC содержит ряд изменений и нововведений небольшого плана, знать о которых крайне полезно:

* скрипты валидации перемещны в отдельный файл;
* скрипты валидации теперь можно включать как сначала разметки, так и внизу для клиентской оптимизации;
* скрипты валидации поддерживают глобализацию;
* метод Html.ValidationSummary может теперь отображать не сразу все ошибки валидации, а только те, которые вычисляются в модели, чтобы остальные показывались рядом с элементами управления и не дублировались;
* шаблоны T4 в Visual Studio теперь генерируют код специфичный для версии .NET Framework
* разметка генерируемая через Add View теперь содержит использование Editor, EditorFor, Display и DisplayFor;
* теперь можно декларативно задать поведение кнопки и ее влияние на валидацию формы, вызывает валидацию или нет;
* теперь можно декларативно управлять тем, когда вызывается валидация: во время ввода, после смены фокуса, перед отправкой формы;
* был исключен метод Html.Substitute;
* инсталятор теперь не производит маппинг скриптов для IIS6 и IIS7 в режиме Integrated Mode, при нужде инструменты для самостоятельного маппинга лежат на codeplex.com.

Изменений немного, но как вы видите они есть и часть из них, лично я, нахожу очень полезными. MVC 2 уже сейчас выглядит очень зрелым продуктом, пора использовать!

Visual Studio Snippets

Время на прочтение3 мин
Количество просмотров20K
Одно время я очень фанател от CodeRush. Он позволял в два-три нажатия клавиши создать свойство у объекта или составить тело цикла. Набирать код институтских лабораторных было одно удовольствие.

Потом вышла 2008 студия с C# 3.0 и там были автоматические свойства. Мне все больше не нравилось, когда CodeRush делал не то, что я хотел. Короткие шоткаты этому способствуют. И в один прекрасный момент я отказался от его использования. У меня больше времени тратилось на борьбу с инструментом, чем если бы я набирал код собственоручно.

Потом я узнал о сниппетах студии. По сути это те же шаблоны кода из CodeRush, только более простые. Есть стандартные вроде for, foreach, prop и exception. Чтобы их раскрыть нужно написать имя шаблона и нажать TAB. Если пользоваться автокомплитом, то можно написать часть имени шаблона, а потом TAB, TAB.
Про создание сниппетов

Системные диалоги в .NET

Время на прочтение2 мин
Количество просмотров2.3K
Недавно по работе искал как вызвать какой-то системный диалог из WPF. Оказалось, что в WPF такого диалога нет, но зато существует библиотека под .NET, которая позволяет вызывать системные диалоги.

Сайт библиотеки: www.ookii.org/software/dialogs


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

WPF4 и Taskbar в Windows 7: Кнопки предпросмотра(Thumbnail buttons)

Время на прочтение15 мин
Количество просмотров2.5K
У панели задач Windows 7 есть много способов для приложений предоставлять уникальную информацию чтобы сделать UX ещё круче. Одна из них рассматривается в этой статье — кнопки панели предсмотра на таскбаре.

Существует вероятность что вы уже используете несколько приложений использующих эту функциональность. Вот скриншот приложения Zune с 4мя кнопками предпросмотра.


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

Набор инструментов для поисковой оптимизации

Время на прочтение2 мин
Количество просмотров5.7K
Последние несколько недель, я опрашивал разработчиков на факт использования Search Engine Optimization (SEO) Toolkit для увеличения трафика на свои сайты. Я был удивлен тем, что многие люди не знали вообще о существовании данного инструмента или просто никогда не запускали его. Сейчас мы кратко рассмотрим, почему же каждый веб-разработчик должен использовать данный инструмент.
Читать дальше →

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