Картинка блога

В заключительной статье о конфигурационных файлах я расскажу о трансформациях. Если мне не изменяет память, трансформации появились в приходом .NET 4.0 и Visual Studio 10. Они предназначены для изменения файлов в зависимости от выбранной конфигурации сборки и поддерживаются средой разработки автоматически. Так образом, если создать web.release.config, трансформации этого файла будут автоматически наложены на основной web.config.

Продолжить чтение "Трансформации. Web.config и App.config для «C# продолжающих»." »

В предыдущем посте о я показал насколько легко можно создать собственную секцию в конфигурационном файле. Теперь я расскажу, как зашифровать любую секцию в конфиге, сделав это прозрачно для пользователя. С этим нам поможет встроенный в Windows DPAPI. DPAPI не требует пароля для шифрования и расшифровки, для этого используется встроенный в систему ключ привязанный к пользователю [...]

Продолжить чтение "Шифрование секций. Web.config и App.config для «C# продолжающих»." »

Этим постом я начну короткий цикл статей о конфигурационных файлах. Казалось бы, что может быть проще редактирования конфиг файлов, тем не менее есть несколько моментов, которые могут показаться сложными для начинающего или даже неизвестными для «продолжающего си шарпера». Нет, это статья не о мало известных секциях и даже не о том том как круто можно [...]

Продолжить чтение "Конфигурационные секции. Web.config и App.config для «C# продолжающих»." »

Службы Windows это удобный способ запускать и контролировать программы, выполняемые на заднем плане. Они часто используются в больших приложениях или как альтернатива консоли или Form приложения, которое можно спрятать в трей. Сегодня я попробую объединить все идеи и наработки касательно сервисов и консольных приложений, используемые мной за время моего «молчания» лета.

Продолжить чтение "Еще раз о работе со службами (Windows Service) на C#" »

В Visual Studio есть шаблон для создания сервисов. Проблема в том, что запустится они могут только с помощью SVCUTIL, а это отнимает время на сопровождение (обычный F5 гораздо удобней и быстрее). Еще возникают неудобства с отладкой — конечно, Debugger.Launch() никто не отменял, но эти 5 секунд хлопанья по окошкам для подключения программы к студии быстро [...]

Продолжить чтение "C#: Запуск Windows сервисов как консольных приложений" »

Устал я ждать обновление Longterm версии, так-что решил обновится уже сейчас. Longterm версия сейчас 2.6.7 особо не отличается от описанной в моем предыдущем посте. И для меня, как для человека, пишущего код на C# практически каждый день — морально устарела. Чтобы сохранить Вам, дорогой читатель немного времени, выложил я также, обновленные скрипты. Сегодня речь пойдет [...]

Продолжить чтение "Компиляция Mono 2.10.2 с исходного кода" »

Из коробки последняя версия Mono живет только в дистрибутивах от Novell. Главный пример тому OpenSUSE. В других дистрибутивах — таких как Debian, Fedora и Ubuntu в репозиториях пылится не очень свежая версия. Обычно это LTS версия 2.6 занимающая свое место с конца 2009-ого года. Следующей LTS версией будет 3.x релиз которой еще не запланирован. Чтобы [...]

Продолжить чтение "Установка Mono 2.10.2 и MonoDevelop 2.6 на Debian" »

Что нужно для того, чтобы запустить приложения на базе .NET на выделенном линукс (пусть даже виртуальном) сервере? Конечно Mono! В прошлом году я уже касался темы установки Mono на Dreamhost. После этого прошло некоторое время, за которое язык и сам Моно успел обзавестись Linq со всеми вытекающими, PLinq а также полной поддержкой MVC и WCF. [...]

Продолжить чтение "Обновление Mono до 2.10 на DreamHost" »

Решил перепечатать интересную и актуальную на мой взгляд статью. Любой профессиональный программист смог бы сформулировать похожий список, и он, как нельзя лучше описывает ошибки современной разработки. Такое ощущение, что каждая компания и индивид проходят через все эти пункты. В большей степени «грешим» из-за непонимания. Пункты 4-7, для молодой компании могут казаться бесполезным и дорогим занятием. [...]

Продолжить чтение "Семь смертных грехов разработки ПО" »

8 марта, 2011

В JavaScript уже давно есть глобальная функция setTimeout. В полном .NET (например Windows Forms) для этих-же целей можно использовать таймер (Threading.Timer) с настройкой без повторений. А вот для SilverLight такой метод реализовать почему-то забыли, хотя именно в интерфейсе пользователя он необходим больше всего. Примеров можно придумать массу. Первое что приходит в голову — отложенное выполнение [...]

Продолжить чтение "C#: Silverlight таймаут (Timeout)" »