PerformanceCounterInstaller 類別

定義

指定 PerformanceCounter 元件的安裝程式。

public ref class PerformanceCounterInstaller : System::Configuration::Install::ComponentInstaller
public class PerformanceCounterInstaller : System.Configuration.Install.ComponentInstaller
type PerformanceCounterInstaller = class
    inherit ComponentInstaller
Public Class PerformanceCounterInstaller
Inherits ComponentInstaller
繼承

範例

下列程式代碼範例示範如何建立 PerformanceCounterInstaller 物件,並將其新增至 InstallerCollection

#using <System.dll>
#using <System.Configuration.Install.dll>

using namespace System;
using namespace System::Configuration::Install;
using namespace System::Diagnostics;
using namespace System::ComponentModel;

[RunInstaller(true)]
ref class MyPerformanceCounterInstaller: public Installer
{
public:
   MyPerformanceCounterInstaller()
   {
      try
      {
         // Create an instance of 'PerformanceCounterInstaller'.
         PerformanceCounterInstaller^ myPerformanceCounterInstaller =
            gcnew PerformanceCounterInstaller;
         // Set the 'CategoryName' for performance counter.
         myPerformanceCounterInstaller->CategoryName =
            "MyPerformanceCounter";
         CounterCreationData^ myCounterCreation = gcnew CounterCreationData;
         myCounterCreation->CounterName = "MyCounter";
         myCounterCreation->CounterHelp = "Counter Help";
         // Add a counter to collection of  myPerformanceCounterInstaller.
         myPerformanceCounterInstaller->Counters->Add( myCounterCreation );
         Installers->Add( myPerformanceCounterInstaller );
      }
      catch ( Exception^ e ) 
      {
          this->Context->LogMessage( "Error occurred : " + e->Message );
      }
   }
};
using System;
using System.Configuration.Install;
using System.Diagnostics;
using System.ComponentModel;

[RunInstaller(true)]
public class MyPerformanceCounterInstaller : Installer
{
    public MyPerformanceCounterInstaller()
    {
        try
        {
            // Create an instance of 'PerformanceCounterInstaller'.
            PerformanceCounterInstaller myPerformanceCounterInstaller =
               new PerformanceCounterInstaller();
            // Set the 'CategoryName' for performance counter.
            myPerformanceCounterInstaller.CategoryName =
               "MyPerformanceCounter";
            CounterCreationData myCounterCreation = new CounterCreationData();
            myCounterCreation.CounterName = "MyCounter";
            myCounterCreation.CounterHelp = "Counter Help";
            // Add a counter to collection of  myPerformanceCounterInstaller.
            myPerformanceCounterInstaller.Counters.Add(myCounterCreation);
            Installers.Add(myPerformanceCounterInstaller);
        }
        catch (Exception e)
        {
            this.Context.LogMessage("Error occurred :" + e.Message);
        }
    }
    public static void Main()
    {
    }
}
Imports System.Configuration.Install
Imports System.Diagnostics
Imports System.ComponentModel

<RunInstaller(True)> _
Public Class MyPerformanceCounterInstaller
    Inherits Installer
    Public Sub New()
        Try
            ' Create an instance of 'PerformanceCounterInstaller'.
            Dim myPerformanceCounterInstaller As New PerformanceCounterInstaller()
            ' Set the 'CategoryName' for performance counter.
            myPerformanceCounterInstaller.CategoryName = "MyPerformanceCounter"
            Dim myCounterCreation As New CounterCreationData()
            myCounterCreation.CounterName = "MyCounter"
            myCounterCreation.CounterHelp = "Counter Help"
            ' Add a counter to collection of  myPerformanceCounterInstaller.
            myPerformanceCounterInstaller.Counters.Add(myCounterCreation)
            Installers.Add(myPerformanceCounterInstaller)
        Catch e As Exception
            Me.Context.LogMessage("Error occurred :" + e.Message)
        End Try
    End Sub
    Public Shared Sub Main()
    End Sub
End Class

備註

下列資訊可能有助於在應用程式啟動時安裝性能計數器時提供效能改善。 安裝 .NET Framework 2.0 版的性能計數器類別會使用不同的共用記憶體,而每個性能計數器類別都有自己的記憶體。 您可以在登錄機碼中建立名為 FileMappingSize 的 DWORD,以指定個別共用記憶體的大小, <HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\類別名稱>\效能。 FileMappingSize 值會設定為類別的共用記憶體大小。 默認大小為131072十進位。 如果 FileMappingSize 值不存在,則會 fileMappingSize 使用 Machine.config 檔案中指定的元素屬性值 performanceCounters ,因而造成組態檔處理的額外負荷。 您可以藉由在登錄中設定檔案對應大小,來實現應用程式啟動的效能改善。

建構函式

PerformanceCounterInstaller()

初始化 PerformanceCounterInstaller 類別的新執行個體。

屬性

CanRaiseEvents

取得值,指出元件是否能引發事件。

(繼承來源 Component)
CategoryHelp

取得或設定效能計數器的描述訊息。

CategoryName

取得或設定效能計數器的效能分類名稱。

CategoryType

取得或設定效能計數器分類型別。

Container

取得包含 IContainerComponent

(繼承來源 Component)
Context

取得或設定有關目前安裝的資訊。

(繼承來源 Installer)
Counters

取得要安裝計數器的相關資料集合。

DesignMode

取得值,指出 Component 目前是否處於設計模式。

(繼承來源 Component)
Events

取得附加在這個 Component 上的事件處理常式清單。

(繼承來源 Component)
HelpText

取得安裝程式集合中所有安裝程式的說明文字。

(繼承來源 Installer)
Installers

取得這個安裝程式包含的安裝程式集合。

(繼承來源 Installer)
Parent

取得或設定安裝程式,含有這個安裝程式所屬的集合。

(繼承來源 Installer)
Site

取得或設定 ComponentISite

(繼承來源 Component)
UninstallAction

取得值,表示效能計數器是否應該在解除安裝期間移除。

方法

Commit(IDictionary)

當在衍生類別中被覆寫時,完成安裝異動。

(繼承來源 Installer)
CopyFromComponent(IComponent)

從安裝期間效能計數器所需的指定元件複製所有的屬性。

CreateObjRef(Type)

建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。

(繼承來源 MarshalByRefObject)
Dispose()

釋放 Component 所使用的所有資源。

(繼承來源 Component)
Dispose(Boolean)

釋放 Component 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 Component)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetLifetimeService()
已淘汰.

擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。

(繼承來源 MarshalByRefObject)
GetService(Type)

傳回表示 Component 或其 Container 所提供之服務的物件。

(繼承來源 Component)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
InitializeLifetimeService()
已淘汰.

取得存留期服務物件,以控制這個執行個體的存留期原則。

(繼承來源 MarshalByRefObject)
Install(IDictionary)

執行安裝。

IsEquivalentInstaller(ComponentInstaller)

判斷指定的安裝程式和這個安裝程式是否安裝相同的物件。

(繼承來源 ComponentInstaller)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
MemberwiseClone(Boolean)

建立目前 MarshalByRefObject 物件的淺層複本。

(繼承來源 MarshalByRefObject)
OnAfterInstall(IDictionary)

引發 AfterInstall 事件。

(繼承來源 Installer)
OnAfterRollback(IDictionary)

引發 AfterRollback 事件。

(繼承來源 Installer)
OnAfterUninstall(IDictionary)

引發 AfterUninstall 事件。

(繼承來源 Installer)
OnBeforeInstall(IDictionary)

引發 BeforeInstall 事件。

(繼承來源 Installer)
OnBeforeRollback(IDictionary)

引發 BeforeRollback 事件。

(繼承來源 Installer)
OnBeforeUninstall(IDictionary)

引發 BeforeUninstall 事件。

(繼承來源 Installer)
OnCommitted(IDictionary)

引發 Committed 事件。

(繼承來源 Installer)
OnCommitting(IDictionary)

引發 Committing 事件。

(繼承來源 Installer)
Rollback(IDictionary)

將電腦還原至安裝之前的狀態。

ToString()

傳回任何包含 Component 名稱的 String。 不應覆寫此方法。

(繼承來源 Component)
Uninstall(IDictionary)

移除安裝。

事件

AfterInstall

發生於 Installers 屬性中所有安裝程式的 Install(IDictionary) 方法都執行之後。

(繼承來源 Installer)
AfterRollback

發生於 Installers 屬性中所有安裝程式的安裝都復原之後。

(繼承來源 Installer)
AfterUninstall

發生於 Installers 屬性中的所有安裝程式執行其解除安裝作業之後。

(繼承來源 Installer)
BeforeInstall

發生於安裝程式集合中每個安裝程式的 Install(IDictionary) 方法執行之前。

(繼承來源 Installer)
BeforeRollback

發生於 Installers 屬性中的安裝程式復原之前。

(繼承來源 Installer)
BeforeUninstall

發生於 Installers 屬性中的安裝程式執行其解除安裝作業之前。

(繼承來源 Installer)
Committed

發生於 Installers 屬性中的所有安裝程式都認可其安裝之後。

(繼承來源 Installer)
Committing

發生於 Installers 屬性中的安裝程式認可其安裝之前。

(繼承來源 Installer)
Disposed

Dispose() 方法的呼叫處置元件時,就會發生。

(繼承來源 Component)

適用於