RegisteredSubscriberCollection RegisteredSubscriberCollection RegisteredSubscriberCollection Class

정의

컬렉션을 나타냅니다 RegisteredSubscriber 개체입니다. Represents a collection of RegisteredSubscriber objects.

public ref class RegisteredSubscriberCollection sealed : Microsoft::SqlServer::Replication::ReplicationBaseCollection
public sealed class RegisteredSubscriberCollection : Microsoft.SqlServer.Replication.ReplicationBaseCollection
Public NotInheritable Class RegisteredSubscriberCollection
Inherits ReplicationBaseCollection
상속
RegisteredSubscriberCollectionRegisteredSubscriberCollectionRegisteredSubscriberCollection

예제

수를 확인 하는 방법을 보여 주는이 예제 RegisteredSubscriber 개체에 RegisteredSubscriberCollection 에서 액세스 하는 RegisteredSubscribers 속성입니다.This example shows how to check the number of RegisteredSubscriber objects in the RegisteredSubscriberCollection accessed from the RegisteredSubscribers property.

// 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 = "AdventureWorks2012";

// 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 AdventureWorks2012 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 = "AdventureWorks2012"

' 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 AdventureWorks2012 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

설명

A RegisteredSubscriber 컬렉션의 개체에서 액세스할 수는 Item[String] 사용 하 여 속성은 [Int32] 인덱스 값 또는 사용 하는 [String] 인덱스 구독자 이름을 나타내는 값입니다.A RegisteredSubscriber object in the collection can be accessed from the Item[String] property using an [Int32] index value or using a [String] index value that is the Subscriber name.

이 네임스페이스, 클래스 또는 멤버는 .NET Framework 2.0 버전에서만 지원됩니다.This namespace, class, or member is supported only in version 2.0 of the .NET Framework.

스레드 보안Thread Safety

모든 public static (Shared 에 Microsoft Visual Basic)이 형식의 멤버는 다중 스레드 작업에 안전 합니다.Any public static (Shared in Microsoft Visual Basic) members of this type are safe for multithreaded operations. 인스턴스 구성원은 스레드로부터의 안전성이 보장되지 않습니다.Any instance members are not guaranteed to be thread safe.

속성

Count Count Count

참조된 컬렉션의 개체 수를 가져옵니다. Gets the number of objects in the referenced collection.

(Inherited from ReplicationBaseCollection)
IsSynchronized IsSynchronized IsSynchronized

컬렉션에 대한 액세스가 동기화되어 스레드로부터 안전한지 여부를 가져옵니다. Gets whether or not access to the collection is synchronized and is therefore thread-safe.

(Inherited from ReplicationBaseCollection)
Item[Int32] Item[Int32] Item[Int32]

가져옵니다는 RegisteredSubscriber 인덱스 번호로 컬렉션에 있는 개체입니다. Gets a RegisteredSubscriber object in the collection by index number.

Item[String] Item[String] Item[String]

가져옵니다는 RegisteredSubscriber 이름으로 컬렉션에 있는 개체입니다. Gets a RegisteredSubscriber object in the collection by name.

SyncRoot SyncRoot SyncRoot

컬렉션에 대한 액세스를 동기화하는 데 사용할 수 있는 개체를 가져옵니다. Gets an object that can be used to synchronize access to the collection.

(Inherited from ReplicationBaseCollection)

메서드

CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32)

배열에 컬렉션을 복사합니다. Copies the collection to an array.

(Inherited from ReplicationBaseCollection)
CopyTo(RegisteredSubscriberCollection, Int32) CopyTo(RegisteredSubscriberCollection, Int32) CopyTo(RegisteredSubscriberCollection, Int32)

컬렉션의 복사본을 만듭니다. Makes a copy of the collection.

GetEnumerator() GetEnumerator() GetEnumerator()

컬렉션에서 개체를 반복하는 데 사용되는 열거자를 가져옵니다. Gets an enumerator that is used to iterate through the objects in a collection.

(Inherited from ReplicationBaseCollection)
InitList() InitList() InitList()

복제 기반의 컬렉션을 초기화합니다. Initializes collection of replication base.

(Inherited from ReplicationBaseCollection)
Refresh() Refresh() Refresh()

컬렉션을 새로 고칩니다. Refreshes the collection.

(Inherited from ReplicationBaseCollection)

적용 대상