Aracılığıyla paylaş


RegisteredSubscriberCollection Sınıfı

Temsil eden bir koleksiyon , RegisteredSubscriber nesneler.

Devralma Hiyerarşisi

System.Object
  Microsoft.SqlServer.Replication.ReplicationBaseCollection
    Microsoft.SqlServer.Replication.RegisteredSubscriberCollection

Ad Alanı:  Microsoft.SqlServer.Replication
Derleme:  Microsoft.SqlServer.Rmo (Microsoft.SqlServer.Rmo içinde.dll)

Sözdizimi

'Bildirim
Public NotInheritable Class RegisteredSubscriberCollection _
    Inherits ReplicationBaseCollection
'Kullanım
Dim instance As RegisteredSubscriberCollection
public sealed class RegisteredSubscriberCollection : ReplicationBaseCollection
public ref class RegisteredSubscriberCollection sealed : public ReplicationBaseCollection
[<SealedAttribute>]
type RegisteredSubscriberCollection =  
    class
        inherit ReplicationBaseCollection
    end
public final class RegisteredSubscriberCollection extends ReplicationBaseCollection

RegisteredSubscriberCollection türü aşağıdaki üyeleri açıklar.

Özellikler

  Ad Açıklama
Ortak özellik Count Başvurulan nesne sayısını alır koleksiyon. (ReplicationBaseCollection öğesinden devralınmıştır.)
Ortak özellik IsSynchronized Olup olmadığına alır erişmek için koleksiyon eşitlenir ve bu nedenle iş parçacığı-safe. (ReplicationBaseCollection öğesinden devralınmıştır.)
Ortak özellik Item[Int32] Alır bir RegisteredSubscriber , nesne koleksiyon dizin numarasına göre
Ortak özellik Item[String] Alır bir RegisteredSubscriber , nesne koleksiyon adı ile
Ortak özellik SyncRoot Koleksiyon erişimini eşitlemek için kullanılan bir nesneyi alır. (ReplicationBaseCollection öğesinden devralınmıştır.)

Üst

Yöntemler

  Ad Açıklama
Ortak yöntem CopyTo(Array, Int32) Koleksiyon bir diziye kopyalar. (ReplicationBaseCollection öğesinden devralınmıştır.)
Ortak yöntem CopyTo(RegisteredSubscriberCollection, Int32) Koleksiyon bir kopyasını oluşturur.
Ortak yöntem Equals (Object öğesinden devralınmıştır.)
Korumalı yöntem Finalize (Object öğesinden devralınmıştır.)
Ortak yöntem GetEnumerator Nesneler arasında yinelemek için kullanılan bir Numaralandırıcı alır bir koleksiyon. (ReplicationBaseCollection öğesinden devralınmıştır.)
Ortak yöntem GetHashCode (Object öğesinden devralınmıştır.)
Ortak yöntem GetType (Object öğesinden devralınmıştır.)
Korumalı yöntem InitList Altyapı. (ReplicationBaseCollection öğesinden devralınmıştır.)
Korumalı yöntem MemberwiseClone (Object öğesinden devralınmıştır.)
Ortak yöntem Refresh Koleksiyon yeniler. (ReplicationBaseCollection öğesinden devralınmıştır.)
Ortak yöntem ToString (Object öğesinden devralınmıştır.)

Üst

Açıklamalar

A RegisteredSubscriber derlemedeki nesne tarafından erişilebilir Item() özellik kullanarak bir [Int32] Dizin değeri veya kullanarak bir [String] abone adı. değer dizin

Bu ad, sınıf veya üye yalnızca desteklenen sürüm 2.0.net Framework.

İş Parçacığı Güvenliği

Herhangi bir ortak statik (Shared , Microsoft Visual Basic) bu tür üyeler birden çok iş parçacığı işlemleri. için güvenliHerhangi bir örnek üyenin iş parçacığı için güvenli olduğu garanti edilmemiştir.

Örnekler

Bu örnek sayısını denetlemek nasıl gösterir RegisteredSubscriber veritabanındaki nesneler RegisteredSubscriberCollection uygulama dosyasından RegisteredSubscribers özellik.

           // Set the Distributor and publication database names.
            // Publisher and Distributor are on the same server instance.
            string publisherName = publisherInstance;
            string distributorName = publisherInstance;
            string distributionDbName = "distribution";
            string publicationDbName = "AdventureWorks";

            // Create connections to the Publisher and Distributor
            // using Windows Authentication.
            ServerConnection publisherConn = new ServerConnection(publisherName);
            ServerConnection distributorConn = new ServerConnection(distributorName);

            // Create the objects we need.
            ReplicationServer distributor =
                new ReplicationServer(distributorConn);
            DistributionPublisher publisher;
            DistributionDatabase distributionDb =
                new DistributionDatabase(distributionDbName, distributorConn);
            ReplicationDatabase publicationDb;
            publicationDb = new ReplicationDatabase(publicationDbName, publisherConn);

            try
            {
                // Connect to the Publisher and Distributor.
                publisherConn.Connect();
                distributorConn.Connect();

                // Disable all publishing on the AdventureWorks2008R2 database.
                if (publicationDb.LoadProperties())
                {
                    if (publicationDb.EnabledMergePublishing)
                    {
                        publicationDb.EnabledMergePublishing = false;
                    }
                    else if (publicationDb.EnabledTransPublishing)
                    {
                        publicationDb.EnabledTransPublishing = false;
                    }
                }
                else
                {
                    throw new ApplicationException(
                        String.Format("The {0} database does not exist.", publicationDbName));
                }

                // We cannot uninstall the Publisher if there are still Subscribers.
                if (distributor.RegisteredSubscribers.Count == 0)
                {
                    // Uninstall the Publisher, if it exists.
                    publisher = new DistributionPublisher(publisherName, distributorConn);
                    if (publisher.LoadProperties())
                    {
                        publisher.Remove(false);
                    }
                    else
                    {
                        // Do something here if the Publisher does not exist.
                        throw new ApplicationException(String.Format(
                            "{0} is not a Publisher for {1}.", publisherName, distributorName));
                    }

                    // Drop the distribution database.
                    if (distributionDb.LoadProperties())
                    {
                        distributionDb.Remove();
                    }
                    else
                    {
                        // Do something here if the distribition DB does not exist.
                        throw new ApplicationException(String.Format(
                            "The distribution database '{0}' does not exist on {1}.",
                            distributionDbName, distributorName));
                    }

                    // Uninstall the Distributor, if it exists.
                    if (distributor.LoadProperties())
                    {
                        // Passing a value of false means that the Publisher 
                        // and distribution databases must already be uninstalled,
                        // and that no local databases be enabled for publishing.
                        distributor.UninstallDistributor(false);
                    }
                    else
                    {
                        //Do something here if the distributor does not exist.
                        throw new ApplicationException(String.Format(
                            "The Distributor '{0}' does not exist.", distributorName));
                    }
                }
                else
                {
                    throw new ApplicationException("You must first delete all subscriptions.");
                }
            }
            catch (Exception ex)
            {
                // Implement appropriate error handling here.
                throw new ApplicationException("The Publisher and Distributor could not be uninstalled", ex);
            }
            finally
            {
                publisherConn.Disconnect();
                distributorConn.Disconnect();
            }
' Set the Distributor and publication database names.
' Publisher and Distributor are on the same server instance.
Dim publisherName As String = publisherInstance
Dim distributorName As String = subscriberInstance
Dim distributionDbName As String = "distribution"
Dim publicationDbName As String = "AdventureWorks2008R2"

' Create connections to the Publisher and Distributor
' using Windows Authentication.
Dim publisherConn As ServerConnection = New ServerConnection(publisherName)
Dim distributorConn As ServerConnection = New ServerConnection(distributorName)

' Create the objects we need.
Dim distributor As ReplicationServer
distributor = New ReplicationServer(distributorConn)
Dim publisher As DistributionPublisher
Dim distributionDb As DistributionDatabase
distributionDb = New DistributionDatabase(distributionDbName, distributorConn)
Dim publicationDb As ReplicationDatabase
publicationDb = New ReplicationDatabase(publicationDbName, publisherConn)

Try
    ' Connect to the Publisher and Distributor.
    publisherConn.Connect()
    distributorConn.Connect()

    ' Disable all publishing on the AdventureWorks database.
    If publicationDb.LoadProperties() Then
        If publicationDb.EnabledMergePublishing Then
            publicationDb.EnabledMergePublishing = False
        ElseIf publicationDb.EnabledTransPublishing Then
            publicationDb.EnabledTransPublishing = False
        End If
    Else
        Throw New ApplicationException( _
            String.Format("The {0} database does not exist.", publicationDbName))
    End If

    ' We cannot uninstall the Publisher if there are still Subscribers.
    If distributor.RegisteredSubscribers.Count = 0 Then
        ' Uninstall the Publisher, if it exists.
        publisher = New DistributionPublisher(publisherName, distributorConn)
        If publisher.LoadProperties() Then
            publisher.Remove(False)
        Else
            ' Do something here if the Publisher does not exist.
            Throw New ApplicationException(String.Format( _
                "{0} is not a Publisher for {1}.", publisherName, distributorName))
        End If

        ' Drop the distribution database.
        If distributionDb.LoadProperties() Then
            distributionDb.Remove()
        Else
            ' Do something here if the distribition DB does not exist.
            Throw New ApplicationException(String.Format( _
             "The distribution database '{0}' does not exist on {1}.", _
             distributionDbName, distributorName))
        End If

        ' Uninstall the Distributor, if it exists.
        If distributor.LoadProperties() Then
            ' Passing a value of false means that the Publisher 
            ' and distribution databases must already be uninstalled,
            ' and that no local databases be enabled for publishing.
            distributor.UninstallDistributor(False)
        Else
            'Do something here if the distributor does not exist.
            Throw New ApplicationException(String.Format( _
                "The Distributor '{0}' does not exist.", distributorName))
        End If
    Else
        Throw New ApplicationException("You must first delete all subscriptions.")
    End If

Catch ex As Exception
    ' Implement appropriate error handling here.
    Throw New ApplicationException("The Publisher and Distributor could not be uninstalled", ex)

Finally
    publisherConn.Disconnect()
    distributorConn.Disconnect()

End Try

İş Parçacığı Güvenliği

Bu türdeki tüm ortak static (Visual Basic'te Shared) üyeler iş parçacığı için güvenlidir. Herhangi bir örnek üyenin iş parçacığı için güvenli olduğu garanti edilmemiştir.