从 ASP 迁移到 ASP.NET 时的性能问题

更新:2007 年 11 月

将 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();
    

    请注意,必须使用 Tlbimp.exe 实用工具才能在声明早期绑定 COM 对象前将类型导入到页中。

请参见

概念

COM 组件的兼容性

其他资源

开发高性能的 ASP.NET 应用程序

与非托管代码交互操作