代码之家  ›  专栏  ›  技术社区  ›  pc1oad1etter

什么是licensepinterophelper.getcurrentcontextinfo?为什么它要使用我的.net应用程序的这么多周期?

  •  3
  • pc1oad1etter  · 技术社区  · 15 年前

    我正在调整web服务的性能。我正在试用JetBrains来分析应用程序。当我导入一个文件时,15%的执行时间将流向getcurrentcontextinfo,下面是签名:

    Void System.ComponentModel.LicenseManager.LicenseInteropHelper.GetCurrentContextInfo(Int32 &, IntPtr &, RuntimeTypeHandle)
    

    这些函数调用可能来自我的查询函数:

    Public Function query(ByVal sql As String) As ADODB.Recordset
        Try
            Dim conn As ADODB.Connection
            Dim rs As New ADODB.Recordset
            conn = curConnection()
            rs.Open(sql, conn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly)
            Return rs
        Catch ex As System.Runtime.InteropServices.COMException
            handleDatabaseError(ex)
        End Try
    End Function
    

    函数的作用是连接池。我不知道它在哪里得到getcurrentcontextinfo-我的解决方案中找不到对它的引用。

    这个函数是什么,如果没有必要的话,我怎样才能去掉它或者限制它的使用时间?

    1 回复  |  直到 14 年前
        1
  •  3
  •   whudson05    14 年前

    在使用ants性能分析器调试轮询web调用时,我们遇到了一个非常类似的问题,除了我们的问题更严重(90%的执行时间都花在这里)。

    经过一些调查,我们发现是ADODB代码导致了对GetCurrentContextinfo的调用。因为这是我们代码中唯一使用adodb连接器的地方,所以我们移到了mysqlconnector/net。这大大提高了我们通话的性能。希望这能有所帮助。