MSDN Magazine / Русская Редакция

Март 2004

Исполняемый файл Исходные коды всего номера

Обложка

Статьи

Фахад Гилани
C# и наука
Применение языковых средств C# в проектах для научных вычислений

Эта статья предполагает знание C#

Язык C# довольно успешно использовался в проектах многих типов, в том числе для разработки Web-приложений, баз данных, GUI и т. д. Одним из последних рубежей применения C# кода вполне могут стать научные вычисления. Но может ли C# сравниться с FORTRAN и C++ в научных и математических проектах?

В статье автор отвечает на этот вопрос, исследуя общеязыковую исполняющую среду (common language runtime, CLR) в .NET, чтобы определить, как JIT компилятор, промежуточный язык Microsoft (Microsoft intermediate language, MSIL) и сборщик мусора (garbage collector) влияют на производительность. Он также рассматривает типы данных C#, включая массивы и матрицы, и другие языковые средства, играющие важную роль в приложениях для научных вычислений.

Материалы на смежную тематику см. по ссылкам:

Исполняемый файл Исходные коды

Об авторе

Фахад Гилани (Fahad Gilani) изучает встраиваемые системы, высокопроизводительные вычисления и диспетчеры памяти в Австралийском Национальном Университете. Соавтор нескольких книг по .NET, опубликованных Wrox Press Ltd. Независимый консультант и внештатный разработчик.

Эл. почта: Fahad_Gilani@yahoo.com

Йохан Нильсон
Таймеры
Реализация непрерывно обновляющегося высокоточного провайдера времени для Windows

Эта статья предполагает знание C++ и Win32 API

Временные метки (timestamps), получаемые от Windows NT, ограничены максимальным разрешением в 10 или 15 мс в зависимости от оборудования. Но иногда, например, когда требуется маркировать частые события, желательно достичь большего разрешения. Как быть, если вам надо обращаться к потоку (thread) или выполнять другие задачи через интервалы, меньшие 10 мс?

Рекомендуемые способы достижения большего разрешения включают использование счетчиков производительности (performance counters) в сочетании с показаниями системного времени для вычисления меньших временных приращений. Но применение счетчиков производительности создает свои проблемы. Эта статья демонстрирует возможный способ преодоления ограничений, присущих такому подходу.

Базовая информация, необходимая для понимания этой статьи:

Исполняемый файл Исходные коды

Об авторе

Йохан Нильсон (Johan Nilsson) — системный инженер Swedish Space Corporation. Разрабатывает программы на C++ для Windows NT со времен выхода Windows NT 4.0 и для Windows/DOS с того момента, как появилась Windows 3.1.

Эл. почта: johan.nilsson@esrange.ssc.se

Йигал Эдери
ISA Server 2004
Разработка прикладных фильтров для Microsoft ISA Server 2004

Эта статья предполагает знание C++ и COM

Вышла в свет общедоступная бета-версия Internet Security and Acceleration (ISA) Server 2004. Она включает богатый SDK с несколькими механизмами расширения, что позволяет сторонним производителям интегрировать свои специализированные решения поверх платформы ISA. В этой статье рассматривается механизм расширения прикладных фильтров (application filters), позволяющий добавлять в ISA сервер возможность высокоуровневой фильтрации на прикладном уровне и предлагать решения в области фильтрации контента. Также уделяется внимание новым средствам SDK в ISA Server 2004, описывается разработка простого прикладного фильтра, отслеживающего все данные, проходящие через ISA сервер, и интеграция фильтра в консоль управления ISA сервера для создания единого пользовательского интерфейса (UI).

Материалы на смежную тематику:

Базовые материалы, необходимые для понимания этой статьи:

Исполняемый файл Исходные коды

Об авторе

Йигал Эдери (Yigal Edery) — менеджер программы по Microsoft ISA Server SDK и прикладным фильтрам. В индустрии ПО работает более 15 лет и специализируется в области защиты на прикладном уровне.

Эл. почта: yigale@microsoft.com

Боб Деремер
Обработка ошибок
Генерация собственных типов исключений из управляемых серверных приложений COM+

Эта статья предполагает знание COM+ и C#

Семантика обработки исключений в .NET базируется на типах, поэтому вы можете создавать свои исключения с собственными свойствами и методами. Исключения в .NET столь же важны, как и другие объекты, а поскольку они представляют встроенный механизм обработки ошибок, все .NET-совместимые языки должны поддерживать исключения. Кроме того, сервисы COM+ доступны в .NET коде как Enterprise Services, поэтому вы можете использовать исключения и в проектах Enterprise Services.

В этой статье описываются пользовательские (собственные) исключения, генерация исключений через границы COM interop и работа с Enterprise Services.

Статьи на смежную тематику:

Базовая информация, необходимая для понимания этой статьи:

Исполняемый файл Исходные коды

Об авторе

Боб Деремер (Bob DeRemer) — главный инженер по разработке ПО в Lighthammer Software Development Corporation. Занимается проектированием архитектур и разработкой корпоративных приложений для промышленности. Когда он не с семьей или не в полете, полностью погружается в новейшие публикации о технологиях .NET.

Эл. почта: bob.deremer@lighthammer.com

Рубрики

Под редакцией Нэнси Мичелл
Web: вопросы и ответы

Автор рубрики, отвечая на письма читателей, рассматривает такие вопросы как защита жесткого диска, сравнение версий базы данных и еще об SQL.

Благодарю за техническую информацию следующих разработчиков Microsoft: Pete Baxter, Jeffrey Brendecke, Kurt Dillard, Roberto Di Pietro, Bart Duncan, Pablo Fermandois, Fredrik Gunne, Ken Henderson, Michael Howard, Salome Jacob, Jesper Johansson, Wes Johns, Oren Kendel, Douglas Laudenschlager, Adam Lydick, Oliver Pillwein, Angel Saenz-Badillos, Ben Smith, Stephane St-Michel, Klaus Sobel, Chip Switzer, David Switzer, Mario Szpuszta, Paul West, Frank Wiemer, Lothar Zeitler.

Вопросы? Комментарии? webqa@microsoft.com (EN)


Аарон Сконнард
XML
WS-Policy и обработчики правил в WSE 2.0

В этой статье дан обзор WSE 2.0 и WS-Policy, рассмотрено правило MessagePredicate, показано, как написать собственный обработчик правил политики и что такое функции расширения политики.

Вопросы? Комментарии? xmlfiles@microsoft.com (EN)

Исполняемый файл Исходные коды

Об авторе

Аарон Сконнард (Aaron Skonnard) — соучредитель компании Pluralsight, занимающейся обучением в области технологий Microsoft .NET. Автор учебных курсов Pluralsight: «Applied Web Services 2.0», «Applied BizTalk Server 2006» и «Introducing Windows Communication Foundation». Многие годы занимается разработкой курсов, выступает на конференциях и обучает профессиональных разработчиков.


Джон Папа
Доступ к данным

Поддержка целостной системы обработки исключений в масштабах всего приложения для Microsoft .NET Framework может стать огромной проблемой, если у вас нет надежной стратегии. Вот некоторые важные требования к обработке исключений: свести к минимуму объем кода в блоках catch (в то же время код должен быть универсальным), позволять обрабатывать разнообразные типы исключений, поддерживать простые средства ведения журнала исключений в файле (или другом хранилище, например в журнале событий Windows) и предоставлять возможность вывода в UI информации об ошибке. Все эти вопросы и рассматриваются в данной статье. В частности, автор рассказывает, как перехватывать некоторые из исключений, в частности SqlException, и как использовать их уникальные свойства. Затем демонстрирует, как создать и развернуть собственный класс исключения.

Вопросы? Комментарии? mmdata@microsoft.com (EN)

Исполняемый файл Исходные коды

Об авторе

Джон Папа (John Papa) — старший консультант по .NET в компании ASPSOFT (aspsoft.com) и бейсбольный фанат, который проводит большинство летних вечеров вместе с женой, двумя дочками и верным псом Кэди, болея за команду «Yankees». MVP по C#, автор нескольких книг по ADO, XML и SQL Server. Часто выступает на конференциях, в том числе на VSLive. Ведет блог.

Эл. почта: data@lancelotweb.com

Дино Эспозито
На переднем крае
Персонализация в ASP.NET 1.1

Персонализируемые приложения позволяют указывать пользовательские предпочтения, касающиеся UI, и сохранять их. Автор рассматривает несколько расширений ASP.NET 1.1, позволяющих включить в текущую версию исполняющей среды поддержку персонализации. Идея описываемого API заимствована из API персонализации ASP.NET 2.0, но не является копией.

Вопросы? Комментарии? cutting@microsoft.com (EN)

Исполняемый файл Исходные коды

Об авторе

Дино Эспозито (Dino Esposito) — преподаватель в центре обучения Solid Quality и автор книги «Programming Microsoft ASP.NET 2.0» (Microsoft Press, 2005). Проживает в Италии и часто выступает на отраслевых мероприятиях по всеми миру.

Эл. почта: cutting@microsoft.com
Сайт: weblogs.asp.net/despos

Кен Спенсер
Основы и тонкости
Извлечение данных из .NET-сборок

Ведущий этой рубрики, отвечая на вопросы, поясняет, как извлечь из сборки полный список методов, свойств и событий. Для наглядности автор показывает приложение, которое выполняет нужные операции.

Вопросы? Комментарии? basics@microsoft.com (EN)

Исполняемый файл Исходные коды

Об авторе

Кен Спенсер (Ken Spencer) работает в компании 32X Tech (EN), где занимается разработкой ПО и обучением, а также консалтингом по технологиям Microsoft.


Джордж Шеферд
ASP.NET
Использование SOAP-расширений в ASP.NET

Инфраструктура SOAP-расширений ASP.NET содержит средства перехвата SOAP-сообщений и подключения собственного кода к конвейеру обработки SOAP-сообщений. С помощью архитектуры SOAP-расширений можно получить доступ к сообщению при его десериализации в объекты и при сериализации CLR-объекта (common language runtime) обратно в SOAP-сообщение. Рассмотрению реализации SOAP-расширений в ASP.NET и посвящена эта статья.

Вопросы? Комментарии? asp-net@microsoft.com (EN)

Исполняемый файл Исходные коды

Об авторе

Джордж Шеферд (George Shepherd) специализируется на разработке для .NET Framework. Автор книги «Programming with Microsoft Visual C++ .NET» (Microsoft Press, 2002) и соавтор «Applied .NET» (Addison-Wesley, 2001). Ведет семинары в DevelopMentor и является одним из архитекторов инструментальных средств, выпускаемых в Syncfusion.


Джон Роббинс
Отладка и оптимизация
Основы интернационализации в .NET

Изучая возможности интернационализации в .NET Framework, автор, к своему удивлению, обнаружил прекрасную поддержку множества языков, встроенную прямо в инфраструктуру. Проблема лишь в том, что ее описание разбросано по документации и разным источникам, поэтому задействовать эту поддержку оказалось куда сложнее, чем должно быть по идее. В этой статье, первой из двух, посвященных тематике интернационализации в .NET, автор собрал воедино основные материалы по этому вопросу. А в следующей статье речь пойдет об утилитах, написанных автором для работы с ResX-файлами — .NET-эквивалентом файлов ресурсов в Win32.

Вопросы? Комментарии? slayer@microsoft.com (EN)

Исполняемый файл Исходные коды

Об авторе

Джон Роббинс (John Robbins) — один из соучредителей Wintellect, компании, которая занимается консалтингом, обучением и разработкой ПО со специализацией в области программирования под .NET Framework и Windows. Автор ряда книг, последняя из которых — «Debugging Applications for Microsoft .NET and Microsoft Windows» (Microsoft Press, 2003).


Пол Дилация
C++: вопросы и ответы

Автор рубрики, отвечая на письма читателей, рассматривает такие вопросы как списки разных видов, SetForegroundWindow и защита класса.

Вопросы? Комментарии? cppqa@microsoft.com (EN)

Исполняемый файл Исходные коды

Об авторе

Пол Дилация (Paul DiLascia) - внештатный технический писатель, консультант, а также независимый Web-дизайнер и разработчик пользовательских интерфейсов. Автор книги "Windows++: Writing Reusable Windows Code in C++" (Addison-Wesley, 1992). В свободное время разрабатывает PixieLib — библиотеку классов MFC, доступную на www.dilascia.com.

Эл. почта: askpd@pobox.com

Ресурсы
ASP.NET «Whidbey»

Группа разработчиков ASP.NET активно работает над следующей версией ASP.NET с кодовым названием «Whidbey». ASP.NET Whidbey будет предоставлять больше возможностей, в ней появится много новых важных функций. В данной рубрике вы найдете краткое описание этих функций и ссылки на материалы, где можно детальнее познакомиться с предстоящей версией ASP.NET.