
Эта статья предполагает знание 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. Независимый консультант и внештатный разработчик.
Эта статья предполагает знание 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.
Эта статья предполагает знание 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 лет и специализируется в области защиты на прикладном уровне.
Эта статья предполагает знание COM+ и C#
Семантика обработки исключений в .NET базируется на типах, поэтому вы можете создавать свои исключения с собственными свойствами и методами. Исключения в .NET столь же важны, как и другие объекты, а поскольку они представляют встроенный механизм обработки ошибок, все .NET-совместимые языки должны поддерживать исключения. Кроме того, сервисы COM+ доступны в .NET коде как Enterprise Services, поэтому вы можете использовать исключения и в проектах Enterprise Services.
В этой статье описываются пользовательские (собственные) исключения, генерация исключений через границы COM interop и работа с Enterprise Services.
Статьи на смежную тематику:
Базовая информация, необходимая для понимания этой статьи:
Боб Деремер (Bob DeRemer) главный инженер по разработке ПО в Lighthammer Software Development Corporation. Занимается проектированием архитектур и разработкой корпоративных приложений для промышленности. Когда он не с семьей или не в полете, полностью погружается в новейшие публикации о технологиях .NET.
Автор рубрики, отвечая на письма читателей, рассматривает такие вопросы как защита жесткого диска, сравнение версий базы данных и еще об 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
Вопросы? Комментарии? webqa@microsoft.com (EN)
В этой статье дан обзор
Вопросы? Комментарии? 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. Ведет блог.
Персонализируемые приложения позволяют указывать пользовательские предпочтения, касающиеся 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). Проживает в Италии и часто выступает на отраслевых мероприятиях по всеми миру.
Ведущий этой рубрики, отвечая на вопросы, поясняет, как извлечь из сборки полный список методов, свойств и событий. Для наглядности автор показывает приложение, которое выполняет нужные операции.
Вопросы? Комментарии? basics@microsoft.com (EN)
Кен Спенсер (Ken Spencer) работает в компании 32X Tech (EN), где занимается разработкой ПО и обучением, а также консалтингом по технологиям Microsoft.
Инфраструктура 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 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).
Автор рубрики, отвечая на письма читателей, рассматривает такие вопросы как списки разных видов, SetForegroundWindow и защита класса.
Вопросы? Комментарии? cppqa@microsoft.com (EN)
Пол Дилация (Paul DiLascia) - внештатный технический писатель, консультант, а также независимый Web-дизайнер и разработчик пользовательских интерфейсов. Автор книги "Windows++: Writing Reusable Windows Code in C++" (Addison-Wesley, 1992). В свободное время разрабатывает PixieLib — библиотеку классов MFC, доступную на www.dilascia.com.
Группа разработчиков ASP.NET активно работает над следующей версией ASP.NET с кодовым названием «Whidbey». ASP.NET Whidbey будет предоставлять больше возможностей, в ней появится много новых важных функций. В данной рубрике вы найдете краткое описание этих функций и ссылки на материалы, где можно детальнее познакомиться с предстоящей версией ASP.NET.