Повышает производительность удаленного взаимодействия и сериализации наборов данных

Переводы статьи Переводы статьи
Код статьи: 829740 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Аннотация

В данной статье рассматривается оптимизация производительности для большего размера .NET Framework System.Data.DataSet классы и Предоставляет класс-оболочку пример сериализации, оптимизированный для более эффективной сериализации и десериализации большего размера Набор данных классы.

Дополнительная информация

При передаче System.Data.DataSet объект между процессами.NET Framework Удаленная работа – это используется для сериализации для передачи данных и для десериализации Набор данных класс. Если передать Набор данныхкласс обратно из.NET веб-службы внутри корпорации Майкрософт.NET Framework System.XML.Serialization.XmlSerializer класс используется для сериализации Набор данных данные обратно клиенту. Если передать Набор данных из управляемого объекта, размещенного в COM + Класс BinaryFormatter используется классом.NET Framework удаленного взаимодействия. Вне зависимости от механизм удаленного взаимодействия, используемый.NET Framework, Набор данных класс всегда преобразует внутренние данные XML при сериализации данные.

В Набор данных класс, который входит в состав Microsoft.NET Framework 1.0 и с.NET Framework 1.1 эффективно работает для сериализации небольшого количества данные (несколько сотен строк) Набор данных по сравнению с.NET Framework удаленного взаимодействия. Механизм сериализации является неэффективным с Чтобы увеличить размер Набор данных (тысяч строк) и приводит к большим временным выделения памяти (недолго). Уменьшить эти выделения памяти масштабируемость приложения.

Примечание — Временной памяти Выделение краткосрочной памяти, возникающей при обработке некоторых разделов из кода. Таким образом, в процессе сериализации во время удаленного взаимодействия и во время десериализации Набор данных управляемый класс, различных объектов выделенных и освобожденных платформой .NET Framework для обработки запроса удаленного взаимодействия. Выделение освобождение управляемых объектов большего и большего размера фрагмента дополнительное давление .NET системы управления памятью и снижает уровень общей масштабируемости. Например, приложение, которое имеет много вызовов метода показа на борту, Создание больших временных памяти распределения можно запустить из памяти перед Завершение всех вызовов методов.

Можно улучшить сериализации и быстродействие удаленного взаимодействия для большего размера Наборы данных с помощью правильно спроектированные суррогат сериализации или типа классов-оболочек. Для получения дополнительных сведений об использовании механизма символов-заместителей или оболочка механизм (или оба) с.NET Framework Набор данных класс, посетите следующий веб-узел Microsoft Developer Network (MSDN):
http://MSDN.Microsoft.com/msdnmag/issues/02/12/cuttingedge
Тем не менее эта статья не содержит полный пример того, как Реализация Набор данных тип символов-заместителей или класс-оболочку для сериализации.

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

Пример сериализации класса-оболочки, т.е. с именем DataSetSurrogate. В DataSetSurrogate класс используется как класс-оболочка для любых Набор данных что вы хотите удаленный. Серверный компонент передает Набор данных что нужно DataSetSurrogate конструктор, а затем передает DataSetSurrogate класс обратно клиенту. На стороне клиента DataSetSurrogate.ConvertToDataSet метод используется для извлечения Набор данных из DataSetSurrogate класс.

В DataSetSurrogate класс помечен Сериализуемый и все поля DataSetSurrogate класс также являются сериализуемых классов. Таким образом, когда удаленный пользователь DataSetSurrogate Объект, инфраструктура удаленного взаимодействия автоматически сериализует и Выполняет десериализацию DataSetSurrogate объект и все ее поля. Преимущество сериализации ключей DataSetSurrogate класс по сравнению с Набор данных класс — это DataSetSurrogate класс выполняет сериализацию данных в двоичном формате. Сериализация с помощью двоичный формат более эффективно и в памяти и ЦП, чем существующий Набор данных Формат сериализации XML.

Примечание Чтобы максимально увеличить выигрыш в производительности эту оболочку сериализации класс, используйте .NET Framework System.Runtime.Serialization.Formatters.Binary.BinaryFormatterкласс, если удаленное взаимодействие. Удаленное взаимодействие с помощью .NET Framework System.Runtime.Serialization.Formatters.SOAP.SoapFormatter При использовании класса не так эффективно DataSetSurrogate класс.

В Следующий файл доступен для загрузки из загрузки Майкрософт Центр:
Свернуть это изображениеРазвернуть это изображение
Загрузить
Загрузить Теперь пакет SurrogateSample.exe. Для получения дополнительных сведений о том, как Чтобы загрузить файлы поддержки Майкрософт, щелкните номер следующей статьи, чтобы просмотреть в статье базы знаний Майкрософт:
119591 Как загрузить файлы поддержки Майкрософт из Интернета
Корпорация Майкрософт проверила этот файл на наличие вирусов. Корпорация Майкрософт использует наиболее текущего антивирусного программного обеспечения на дату, файл была учтена. Файл хранится на защищенных серверах, которые помогают для файла предотвращает его несанкционированное изменение.

Доступ к файлам образца

Сохраните файл SurrogateSample.exe на диск c на вашем компьютере. Оттуда вы можно извлечь структуру папок. Отсутствует файл readme в каждой папке, содержащей Дополнительные инструкции.

Свойства

Код статьи: 829740 - Последний отзыв: 15 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
Ключевые слова: 
kbdownload kbinfo kbmt KB829740 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:829740

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com