Condividi tramite


Classe InstanceControl

In questa classe sono presenti metodi che si possono utilizzare per ottenere oggetti CommandReceive e CommandSend il cui utilizzo consente di ricevere comandi da e inviare comandi alla coda dei comandi nell'archivio delle istanze.

Spazio dei nomi: Microsoft.ApplicationServer.StoreManagement.Control
Assembly: Microsoft.ApplicationServer.StoreManagement (in microsoft.applicationserver.storemanagement.dll)

Uso

Sintassi

'Dichiarazione
Public MustInherit Class InstanceControl
public abstract class InstanceControl
public ref class InstanceControl abstract
public abstract class InstanceControl
public abstract class InstanceControl

Osservazioni

Un cmdlet di controllo delle istanze aggiunge i comandi alla coda dei comandi utilizzando l'oggetto CommandSend e il servizio Gestione flussi di lavoro (WMS) li rimuove dalla coda dei comandi utilizzando l'oggetto CommandReceive. In alcune circostanze, ad esempio quando viene eseguito il cmdlet Remove-ASAppServiceInstance, l'archivio stesso elabora il comando per rimuovere l'istanza dall'archivio delle istanze.

Il codice riportato di seguito illustra un esempio di implementazione di questa classe.

    public class MySqlInstanceControl : InstanceControl
    {
        readonly string connectionString;
         public MySqlInstanceControl(string connectionString)
         {
             this.connectionString = connectionString;
         }

        MySqlCommandReceive commandReceive;
        public override CommandReceive CommandReceive
        {
            get 
            {
                if (this.commandReceive == null)
                {
                    MySqlCommandReceive tmp = new MySqlCommandReceive(this.connectionString);
                    Interlocked.CompareExchange(ref this.commandReceive, tmp, null);
                }
                return this.commandReceive;
            }
        }

        MySqlCommandSend commandSend;
        public override CommandSend CommandSend
        {
            get
            {
                if (this.commandSend == null)
                {
                    MySqlCommandSend tmp = new MySqlCommandSend(this.connectionString);
                    Interlocked.CompareExchange(ref this.commandSend, tmp, null);
                    return this.commandSend;
                }
                return this.CommandSend;
            }
        }
    }

Gerarchia ereditarietà

System.Object
  Microsoft.ApplicationServer.StoreManagement.Control.InstanceControl
     Microsoft.ApplicationServer.StoreManagement.Sql.Control.SqlInstanceControl

Protezione thread

Qualsiasi membro statico (condiviso in Visual Basic) di questo tipo è thread safe, diversamente dai membri istanza.

Piattaforme

Piattaforme di sviluppo

Visual Studio 2010 e versioni successive, .NET Framework 4

Piattaforme di destinazione

Windows 7; Windows Server 2008 R2; Windows Server 2008 Service Pack 2; Windows Vista Service Pack 2

Change History

Vedere anche

Informazioni di riferimento

InstanceControl membri
Spazio dei nomi Microsoft.ApplicationServer.StoreManagement.Control