다음을 통해 공유


BindingCollection 클래스

정의

바인딩 컬렉션을 나타냅니다.

public ref class BindingCollection sealed : Microsoft::Web::Administration::ConfigurationElementCollectionBase<Microsoft::Web::Administration::Binding ^>
public sealed class BindingCollection : Microsoft.Web.Administration.ConfigurationElementCollectionBase<Microsoft.Web.Administration.Binding>
type BindingCollection = class
    inherit ConfigurationElementCollectionBase<Binding>
Public NotInheritable Class BindingCollection
Inherits ConfigurationElementCollectionBase(Of Binding)
상속

예제

다음 예제에서는 추적 수신기에 대한 각 바인딩의 수를 표시합니다.

void ShowBE(Object propertyToConvert) {

    BindingCollection bindingColl = propertyToConvert as BindingCollection;
    int httpsCnt=0;
    int httpCnt=0;
    int unknownCnt=0;

    foreach (Microsoft.Web.Administration.Binding  bindElem in bindingColl) {
        if (bindElem.Protocol.Equals(
            "https", StringComparison.InvariantCultureIgnoreCase) ) {
            httpsCnt++;
        } else if (bindElem.Protocol.Equals(
            "http", StringComparison.InvariantCultureIgnoreCase) ){
           httpCnt++;
        }
        else 
            unknownCnt++;
    }
    Trace.WriteLine("HTTPS Cnt = " + httpsCnt.ToString());
    Trace.WriteLine("HTTP Cnt = " + httpCnt.ToString());
    Trace.WriteLine("Unknown Cnt = " + unknownCnt.ToString());
} 

다음 예제에서는 서버의 각 사이트에 대한 각 바인딩을 나열합니다.

[ModuleServiceMethod(PassThrough = true)]
public ArrayList GetSiteCollection()
{
    // Use an ArrayList to transfer objects to the client.
    ArrayList arrayOfSitePropertyBags = new ArrayList();

    SiteCollection siteCollection = 
        base.ManagementUnit.ServerManager.Sites;
    Site siteToModify = null;
    string newbindinginformation = String.Empty;
    byte[] newcertificateHash = null;
    string newcertificateStoreName = String.Empty;
    Int32 bindingIndex = -1;
    // Find a binding with an https protocol, if one exists.
    // Capture the site, certificate hash, and the certificate store name.
    foreach (Site site in siteCollection)
    {
        PropertyBag siteBag = new PropertyBag();

        siteBag[TestDemoGlobals.SiteName] = site.Name;
        siteBag[TestDemoGlobals.SiteId] = site.Id;

        ArrayList siteBindingsArray = new ArrayList();
        foreach (Microsoft.Web.Administration.Binding binding in site.Bindings)
        {
            PropertyBag bindingBag = new PropertyBag();

            bindingBag[TestDemoGlobals.BindingInformation] = binding.BindingInformation;
            if (binding.Protocol == "https")
            {
                // Capture certificate information for binding to be created later
                siteToModify = site;
                newcertificateHash = binding.CertificateHash;
                newcertificateStoreName = binding.CertificateStoreName;

                // Add certificate data to binding property bag
                bindingBag[TestDemoGlobals.BindingCertificateHashType] = 
                    binding.CertificateHash.ToString();
                string hashString = String.Empty;
                foreach (System.Byte certhashbyte in binding.CertificateHash)
                {
                    hashString += certhashbyte.ToString() + " ";
                }
                bindingBag[TestDemoGlobals.BindingCertificateHash] = hashString;
                bindingBag[TestDemoGlobals.BindingCertificateHashStoreName] = binding.CertificateStoreName;
            }
            bindingBag[TestDemoGlobals.BindingProtocol] = binding.Protocol;
            bindingBag[TestDemoGlobals.BindingEndPoint] = binding.EndPoint;
            bindingBag[TestDemoGlobals.BindingHost] = binding.Host;
            bindingBag[TestDemoGlobals.BindingIsIPPortHostBinding] = binding.IsIPPortHostBinding;
            bindingBag[TestDemoGlobals.BindingToString] = binding.ToString();
            bindingBag[TestDemoGlobals.BindingUseDsMapper] = binding.UseDsMapper;

            siteBindingsArray.Add(bindingBag);
        }

        siteBag[TestDemoGlobals.BindingsArrayList] = siteBindingsArray;

        arrayOfSitePropertyBags.Add(siteBag);
    }
    // Adding a duplicate binding throws an error.
    if (siteToModify != null)
    {
        newbindinginformation = "*:448:TestingSite";
        try
        {
            // Add this binding. It does not already exist. 
            siteToModify.Bindings.Add(newbindinginformation, newcertificateHash, newcertificateStoreName);
        }
        catch
        {
            // Remove this binding. It already exists.
            foreach (Microsoft.Web.Administration.Binding binding in siteToModify.Bindings)
            {
                if (binding.BindingInformation == newbindinginformation)
                {
                    bindingIndex = siteToModify.Bindings.IndexOf(binding);
                }
            }
            if (bindingIndex != -1)
            {
                siteToModify.Bindings.RemoveAt(bindingIndex);
            }
        }
        // Update information and save in Administration.config file.
        ManagementUnit.Update();
    }
    return arrayOfSitePropertyBags;
}

설명

IIS 관리자의 사이트 바인딩 대화 상자에서 사이트에 대한 바인딩 을 볼 수 있습니다. 대화 상자를 열려면 연결 창에서 사이트 노드를 마우스 오른쪽 단추로 클릭한 다음 바인딩 편집을 클릭합니다. 사이트 바인딩 대화 상자에는 사이트의 개체에 BindingCollection 개체가 표시됩니다Binding.

개체에 대한 BindingCollection 변경 내용은 메서드 호출에 의해 ApplicationHost.config 파일이 업데이트될 때까지 IIS Manager에 Microsoft.Web.Management.Server.ManagementUnit.Update 반영되지 않습니다.

속성

AllowsAdd

요소 이름이 현재 컬렉션 스키마에 정의되어 있는지 여부를 add 나타내는 값을 가져옵니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
AllowsClear

요소 이름이 현재 컬렉션 스키마에 clear 정의되어 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
AllowsRemove

요소 이름이 현재 컬렉션 스키마에 remove 정의되어 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
Attributes

이 요소에 대한 특성 목록을 포함하는 구성 특성 컬렉션을 가져옵니다.

(다음에서 상속됨 ConfigurationElement)
ChildElements

현재 요소의 모든 자식 요소를 가져옵니다.

(다음에서 상속됨 ConfigurationElement)
Count

컬렉션의 항목 수를 가져옵니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
ElementTagName

바인딩 컬렉션을 나타냅니다.

(다음에서 상속됨 ConfigurationElement)
IsLocallyStored

구성 요소가 특정 구성 파일에 저장되어 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 ConfigurationElement)
Item[Int32]

지정된 인덱스에서 구성 요소를 가져옵니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
Item[String]

지정된 이름의 특성을 가져오거나 설정합니다.

(다음에서 상속됨 ConfigurationElement)
Methods

구성 요소에 대한 메서드 컬렉션을 가져옵니다.

(다음에서 상속됨 ConfigurationElement)
RawAttributes

바인딩 컬렉션을 나타냅니다.

(다음에서 상속됨 ConfigurationElement)
Schema

구성 요소 컬렉션을 설명하는 스키마를 가져옵니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)

메서드

Add(Binding)

컬렉션의 끝에 보안 바인딩을 추가합니다.

Add(String, Byte[], String)

바인딩 컬렉션에 보안 바인딩을 추가합니다.

Add(String, Byte[], String, SslFlags)

바인딩 컬렉션을 나타냅니다.

Add(String, String)

지정된 프로토콜 및 바인딩 정보가 포함된 바인딩을 바인딩 컬렉션에 추가합니다.

Add(T)

현재 컬렉션의 끝에 구성 요소를 추가합니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
AddAt(Int32, T)

지정된 인덱스에서 현재 컬렉션에 구성 요소를 추가합니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
Clear()

현재 컬렉션에서 모든 구성 요소를 지웁니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
CreateElement()

현재 컬렉션에 대한 새 자식 요소를 만듭니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
CreateElement(String)

지정된 이름을 사용하여 새 자식 요소를 만듭니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
CreateNewElement(String)

지정된 요소 이름을 사용하여 새 요소를 만듭니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
Delete()

바인딩 컬렉션을 나타냅니다.

(다음에서 상속됨 ConfigurationElement)
GetAttribute(String)

요청된 ConfigurationAttribute 특성을 나타내는 개체를 반환합니다.

(다음에서 상속됨 ConfigurationElement)
GetAttributeValue(String)

지정된 특성의 값을 반환합니다.

(다음에서 상속됨 ConfigurationElement)
GetChildElement(String)

현재 구성 요소 아래에 있고 지정된 이름을 가진 자식 요소를 반환합니다.

(다음에서 상속됨 ConfigurationElement)
GetChildElement(String, Type)

현재 구성 요소 아래에 있고 지정된 이름과 형식을 가진 자식 요소를 반환합니다.

(다음에서 상속됨 ConfigurationElement)
GetCollection()

현재 구성 요소의 기본 컬렉션을 반환합니다.

(다음에서 상속됨 ConfigurationElement)
GetCollection(String)

현재 구성 요소에 속하는 모든 구성 요소를 반환합니다.

(다음에서 상속됨 ConfigurationElement)
GetCollection(String, Type)

지정된 이름과 형식을 가지며 현재 구성 요소 아래에 있는 구성 요소를 반환합니다.

(다음에서 상속됨 ConfigurationElement)
GetCollection(Type)

지정된 형식을 가지며 현재 구성 요소 아래에 있는 구성 요소를 반환합니다.

(다음에서 상속됨 ConfigurationElement)
GetEnumerator()

컬렉션을 반복하는 열거자를 반환합니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
GetMetadata(String)

요소 스키마에서 메타데이터 값을 반환합니다.

(다음에서 상속됨 ConfigurationElement)
IndexOf(T)

컬렉션에 있는 요소의 인덱스를 결정합니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
Remove(Binding)

바인딩 컬렉션에서 지정된 바인딩을 제거합니다.

Remove(Binding, Boolean)

바인딩 컬렉션을 나타냅니다.

Remove(T)

컬렉션에서 요소의 첫 번째 발생을 제거합니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
RemoveAt(Int32)

지정된 인덱스에서 바인딩을 제거합니다.

SetAttributeValue(String, Object)

지정된 특성의 값을 설정합니다.

(다음에서 상속됨 ConfigurationElement)
SetMetadata(String, Object)

요소 스키마에서 메타데이터 값을 설정합니다.

(다음에서 상속됨 ConfigurationElement)

명시적 인터페이스 구현

ICollection.CopyTo(Array, Int32)

특정 배열 인덱스부터 시작하여 컬렉션의 요소를 배열에 복사합니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
ICollection.Count

바인딩 컬렉션을 나타냅니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
ICollection.IsSynchronized

바인딩 컬렉션을 나타냅니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
ICollection.SyncRoot

바인딩 컬렉션을 나타냅니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)
IEnumerable.GetEnumerator()

컬렉션을 반복하는 열거자를 반환합니다.

(다음에서 상속됨 ConfigurationElementCollectionBase<T>)

적용 대상