다음을 통해 공유


방법: 인스턴스 저장소, 쿼리 및 컨트롤 공급자 구성

저장소, 쿼리 또는 제어 공급자 배포를 완료한 다음 방법: 사용자 지정 공급자 등록에 설명된 단계를 수행하여 공급자를 등록해야 합니다. 공급자의 설치 프로그램은 다음 목록에 설명된 단계와 비슷한 단계를 수행합니다.

  1. 실제 인스턴스 저장소를 만들고 컴퓨터에 공급자 어셈블리를 설치하는 스크립트 파일을 실행합니다.

  2. 루트 Web.config 파일에 인스턴스 저장소 공급자 정의를 추가합니다.

  3. 인스턴스 저장소 정의를 Web.config 파일에 추가합니다.

  4. 서비스와 연결된 구성 파일에서 서비스에 대한 인스턴스 저장소 동작을 구성합니다.

이 항목의 나머지 부분에서는 저장소를 사용하는 공급자 정의, 저장소 정의 및 저장소 동작을 구성 파일에 추가하는 방법을 설명합니다.

인스턴스 저장소 공급자 정의

Windows Server AppFabric에서 사용할 각 인스턴스 저장소 유형에 대한 인스턴스 저장소 공급자를 루트 Web.config 파일에서 정의해야 합니다. 인스턴스 저장소 공급자 정의에는 다음 매개 변수가 포함됩니다.

참고

컴퓨터의 web.config 파일은 <드라이브>\Windows\Microsoft.NET\Framework\v4.0.30319\Config 폴더와 응용 프로그램이 저장된 디렉터리에서 찾을 수 있습니다.

  • 이름. 인스턴스 저장소 공급자의 이름을 지정합니다. 이 매개 변수는 필수 매개 변수입니다.

  • 저장소 공급자. InstanceStoreProvider 추상 클래스를 구현하는 유형의 정규화된 이름과 해당 유형이 포함된 어셈블리를 지정합니다. 이 매개 변수는 필수 매개 변수입니다.

  • 쿼리 공급자. InstanceQueryProvider 추상 클래스를 구현하는 유형의 정규화된 이름과 해당 유형이 포함된 어셈블리를 지정합니다. 이 매개 변수는 필수 매개 변수입니다. 저장소에서 쿼리 공급자를 구현하지 않는 경우에는 이 매개 변수의 값으로 빈 문자열을 지정할 수 있습니다.

  • 제어 공급자. InstanceControlProvider 추상 클래스를 구현하는 유형의 정규화된 이름과 해당 유형이 포함된 어셈블리를 지정합니다. 이 매개 변수는 필수 매개 변수입니다. 저장소에서 제어 공급자를 구현하지 않는 경우에는 이 매개 변수의 값으로 빈 문자열을 지정할 수 있습니다.

AppFabric 설치 프로그램은 다음 예제에 표시된 대로 SQL 워크플로 인스턴스 저장소에 대한 인스턴스 저장소 공급자의 저장소 공급자 정의를 추가합니다.

<configuration>
    <microsoft.applicationServer>
        <persistence>
            <instanceStoreProviders>
                <add name="sqlStoreProvider"
                    storeProvider="Microsoft.ApplicationServer.StoreProvider.Sql.SqlWorkflowInstanceStoreFactory, Microsoft.ApplicationServer.StoreProvider, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                    queryProvider="Microsoft.ApplicationServer.StoreManagement.Sql.Query.SqlInstanceQueryProvider, Microsoft.ApplicationServer.StoreManagement, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                    controlProvider="Microsoft.ApplicationServer.StoreManagement.Sql.Control.SqlInstanceControlProvider, Microsoft.ApplicationServer.StoreManagement, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
            </instanceStoreProviders>
        </persistence>
    </microsoft.applicationServer>
</configuration>

사용자 지정 인스턴스 저장소 공급자를 설치하는 동안 AppFabric 설치에서 SQL 인스턴스 공급자 정의를 추가하는 방법과 유사하게 루트 Web.config 파일에 저장소 공급자 정의를 추가해야 합니다. 이전 예제에서 알 수 있듯이 공급자 정의는 Windows Server AppFabric 구성 섹션(Microsoft.ApplicationServer)의 일부입니다. 따라서 사용자 지정 저장소 공급자를 설치하기 전에 AppFabric을 설치해야 합니다. AppFabric을 설치하기 전에 저장소 공급자를 설치하는 경우에는 루트 Web.config 파일에 해당 저장소 공급자 구성 섹션을 수동으로 추가해야 합니다. 또한 AppFabric을 제거할 때 전체 Microsoft.ApplicationServer 섹션이 제거됩니다. AppFabric이 제거되기 전이나 제거된 후에 사용자 지정 인스턴스 저장소 공급자(정의뿐만 아니라 저장소 공급자 유형이 포함된 어셈블리)를 제거할 수 있습니다.

인스턴스 저장소 정의

인스턴스 저장소 정의는 특정 유형의 저장소를 정의합니다. 저장소 정의에는 다음 매개 변수가 포함됩니다.

  1. 이름. 인스턴스 저장소의 이름을 지정합니다. 이 매개 변수는 필수 매개 변수입니다. 이 매개 변수 값은 빈 문자열일 수 있습니다.

  2. 설명. 인스턴스 저장소에 대한 설명을 지정합니다. 이 매개 변수는 선택적 매개 변수입니다. 이 매개 변수의 기본값은 빈 문자열입니다.

  3. 저장소 공급자. 인스턴스 저장소에 대한 저장소 공급자의 이름을 지정합니다. 이 매개 변수는 필수 매개 변수입니다.

  4. 추가 특성. 이름-값 쌍으로 표시되는 선택적 특성을 지정합니다. SQL 인스턴스 저장소 공급자의 연결 문자열 같은 저장소 주소는 이러한 매개 변수 중 하나를 사용하여 정의해야 합니다. 그렇지 않으면 WMS(워크플로 관리 서비스)가 저장소에 연결할 수 없습니다.

다음 예제에서는 루트 Web.config 파일에 정의된 인스턴스 저장소를 보여 줍니다. 비슷한 방식으로 사용자 지정 인스턴스 저장소를 추가해야 합니다.

<configuration>
    <microsoft.applicationServer>
        <persistence>
            <instanceStores>
                <add name="storeA"
                    provider="sqlStoreProvider"
                    connectionStringName="storeA-str" />
                <add name="storeB"
                    provider="sqlStoreProvider"
                    connectionStringName="storeB-str" />
                <add name="storeC"
                    provider="MyStoreProvider"
                    MyAddressStringName="storeC-str"
                    value1="rrr"
                    value2="sss"
                    value3="ttt" />
            </instanceStores>
        </persistence>
    </microsoft.applicationServer>
</configuration>

상위 범위에서 정의된 저장소는 하위 범위에 자동으로 상속됩니다. <remove /> 또는 </clear> 요소를 사용하여 상속된 저장소 정의를 범위에서 제거할 수 있습니다.

인스턴스 저장소 동작 확장

사용자가 서비스를 인스턴스 저장소와 연결할 수 있도록 인스턴스 저장소에 대한 동작 확장 요소를 정의해야 합니다. AppFabric 설치 프로그램은 서비스에서 sqlWorkflowInstanceStoreBehavior를 사용할 수 있도록 다음 동작 확장 요소를 machine.config 파일에 추가합니다. 저장소 공급자를 설치하는 동안 비슷한 방식으로 저장소 동작에 대한 정의를 추가해야 합니다.

<system.serviceModel>
    <extensions>
        <behaviorExtensions>
            <add name="sqlWorkflowInstanceStore" type="System.ServiceModel.Activities.Configuration.SqlWorkflowInstanceStoreElement, System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        </behaviorExtensions>
    </extensions>
</system.serviceModel>

예를 들어, machine.config 파일의 SqlWorkflowInstanceStore 및 workflowInstanceControl 같은 동작 확장 및 섹션 처리기는 루트 수준에서 기본 설정을 사용하여 이름 없는 동작을 정의합니다. 저장소 유형별 동작 확장 및 섹션 처리기를 machine.config 파일에 추가합니다. AppFabric 설치 프로그램이 SqlWorkflowInstanceStore 및 WorkflowInstanceControl 동작에 대한 동작 확장을 자동으로 추가합니다.

동작 및 저장소를 사용하도록 서비스 구성

서비스에 대한 지속성을 사용하도록 설정하려면 응용 프로그램이나 서비스와 연결된 Web.config 파일에서 인스턴스 저장소 동작을 정의하고 서비스를 동작과 연결해야 합니다. 다음 예제에서는 sqlWorkflowInstanceStore 동작의 샘플 정의를 보여 줍니다. connectionStringName 값은 인스턴스 저장소 정의로 설정되고, 인스턴스 저장소 정의는 연결 문자열을 가리킵니다.

<system.serviceModel>
    <behaviors>
        <serviceBehaviors>
            <behavior name=”myServiceBehavior”>
                <sqlWorkflowInstanceStore
                    connectionStringName="storeA-str"
                    instanceCompletionAction=”DeleteAll”
                    instanceLockedExceptionAction=”NoRetry”
                    hostLockRenewalPeriod=”00:00:30”
                    runnableInstanceDetectionPeriod=”00:00:10” />
            </behavior>
        </serviceBehaviors>
    </behaviors>
</system.serviceModel>

SQL 워크플로 인스턴스 저장소 구성

Windows Server AppFabric 설치 프로그램은 루트 Web.config 파일에서 SQL 워크플로 인스턴스 저장소에 대한 인스턴스 저장소 공급자의 정의를 만듭니다. 다음 기능을 수행하는 Windows Server AppFabric 구성 도구를 사용할 수 있습니다.

  • 루트 Web.config 파일에서 SQL 워크플로 인스턴스 저장소의 정의를 만듭니다. 이 정의에는 ApplicationServerExtension 데이터베이스를 참조하는 연결 문자열이 포함됩니다.

  • 실제 인스턴스 저장소인 ApplicationServerExtensions라는 SQL Server 데이터베이스를 만듭니다.

  • WMS(워크플로 관리 서비스)를 Windows 서비스로 설치합니다. WMS가 자동으로 인스턴스 저장소를 검색하도록 하는 설정이 포함된 기본 WMS 구성 섹션을 루트 Web.config 파일에 추가합니다.

  2011-12-05