Поделиться через


Проблемы с производительностью при миграции из ASP в ASP.NET

Обновлен: Ноябрь 2007

При переносе ASP-приложений в ASP.NET следует учесть возможные проблемы производительности, связанные со следующими ситуациями:

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

  • Поздняя привязка ASP использует метод CreateObject для создания объекта неопределенного типа, как показано в следующем примере:

    SampleObject = Server.CreateObject("ProgId")
    

    Этот тип объявления функционирует в ASP.NET, но для достижения оптимальной производительности при создании объекта рекомендуется объявить его тип следующим образом:

    Dim SampleObject As New ObjectType()
    ' or
    ' Dim SampleObject As ObjectType = New ObjectType()
    
    ObjectType SampleObject = new ObjectType();
    

    Обратите внимание, что для импортирования типа на страницу перед объявлением объектов COM с ранней привязкой необходимо использовать средство TlbImp.exe.

См. также

Основные понятия

Совместимость компонентов COM

Другие ресурсы

Developing High-Performance ASP.NET Applications

Взаимодействие с неуправляемым кодом