다음을 통해 공유


채널 및 포맷터 구성 속성

이 항목에서는 .NET Remoting 시스템에서 IChannel 구현에 대해 지정할 수 있는 모든 구성 속성을 열거하고 설명합니다. 구성 파일에서 선언할 때는 모든 값을 문자열로 나타내지만, IDictionary 속성을 프로그래밍 방식으로 빌드할 때는 정수 값을 따옴표 없는 정수 또는 따옴표 내의 값인 문자열로 지정할 수 있으며 부울 값은 부울로 지정할 수 있습니다. 다른 모든 값은 문자열로 지정됩니다.

구성 파일의 <channel> 요소에서 채널을 구성하는 방법은 방법: 구성 파일에 채널 구성을 참조하십시오. 프로그래밍 방식으로 채널을 구성하는 방법은 방법: 프로그래밍 방식으로 채널 구성을 참조하십시오.

다음 표에서는 채널 형식과 해당 채널이 지원하는 채널 속성을 보여 줍니다.

형식 지원 속성

HttpChannel

allowAutoRedirect

bindTo

clientConnectionLimit

connectionGroupName

credentials

exclusiveAddressUse

listen

machineName

name

port

priority

proxyName

proxyPort

servicePrincipalName

suppressChannelData

timeout

unsafeAuthenticatedConnectionSharing

useAuthenticatedConnectionSharing

useDefaultCredentials

useIpAddress

HttpClientChannel

allowAutoRedirect

clientConnectionLimit

connectionGroupName

credentials

domain

machineName

name

password

priority

proxyName

proxyPort

servicePrincipalName

timeout

unsafeAuthenticatedConnectionSharing

useAuthenticatedConnectionSharing

useDefaultCredentials

username

HttpServerChannel

bindTo

exclusiveAddressUse

listen

machineName

name

port

priority

suppressChannelData

useIpAddress

TcpChannel

authorizationModule

bindTo

exclusiveAddressUse

impersonate

machineName

name

port

priority

rejectRemoteRequests

secure

servicePrincipalName

suppressChannelData

timeout

tokenImpersonationLevel

useIpAddress

TcpClientChannel

domain

machineName

name

password

priority

protectionLevel

retryCount

secure

servicePrincipalName

socketCachePolicy

socketCacheTimeout

timeout

tokenImpersonationLevel

username

TcpServerChannel

authorizationModule

bindTo

exclusiveAddressUse

impersonate

machineName

name

port

priority

protectionLevel

rejectRemoteRequests#

secure

suppressChannelData

useIpAddress

IpcChannel

authorizedGroup

connectionTimeout

name

portName

priority

secure

suppressChannelData

IpcClientChannel

connectionTimeout

name

priority

secure

IpcServerChannel

authorizedGroup

name

portName

priority

secure

suppressChannelData

다음 표에서는 일반 채널 속성과 해당 속성이 지원하는 채널 유형을 보여 줍니다.

속성 설명 이 속성을 지원하는 형식

name

이 채널의 이름을 지정하는 문자열입니다. 이름을 지정하지 않으면 유형에 따른 기본 이름이 사용됩니다.type:

HttpChannel: "http"

HttpClientChannel: "http client"

HttpServerChannel: "http server"

TcpChannel: "tcp"

TcpClientChannel: "tcp client"

TcpServerChannel: "tcp server"

IpcChannel: "ipc"

IpcClientChannel: "ipc client"

IpcServerChannel: "ipc server"

각 채널에는 고유한 이름이 있어야 합니다. 이름을 무시하지만 이름 충돌은 방지하려는 경우 이 속성을 빈 문자열("" 또는 String.Empty)로 설정합니다. 시스템에서는 nameString.Empty인 채널을 여러 개 허용합니다. 이 속성은 ChannelServices.GetChannel()을 호출할 때 특정 채널을 검색하는 데 사용됩니다. 자세한 내용은 채널을 참조하십시오.

HttpChannel

HttpServerChannel

HttpClientChannel

TcpChannel

TcpClientChannel

TcpServerChannel

IpcChannel

IpcClientChannel

IpcServerChannel

machineName

현재 채널과 함께 사용되는 컴퓨터 이름을 지정하는 문자열입니다. 서버 채널과 함께 사용하면 useIpAddress를 재정의합니다.

참고

일반적으로 컴퓨터의 DNS(도메인 이름 시스템) 이름을 사용하는 것이 좋지만, 특정 NIC(네트워크 인터페이스 카드, 일반적으로 무선 NIC)의 IP 주소가 빠르게 바뀌는 경우에는 응용 프로그램에서 machineName을 사용하도록 구성하여 원격 서비스가 DNS를 통해 컴퓨터를 찾을 수 있도록 해야 합니다. 그러나 컴퓨터 이름이 적절한 속도로 확인되지 않거나 전혀 확인되지 않으며 컴퓨터에 물리적 또는 가상 NIC가 둘 이상 있는 경우(주로 전화 접속 연결이나 VPN 네트워크 어댑터의 경우)에는 해당 연결에 현재 사용되고 있는 NIC의 IP 주소로 machineName 속성을 설정해야 합니다.

HttpChannel

HttpClientChannel

HttpServerChannel

TcpChannel

TcpClientChannel

TcpServerChannel

priority

해당 채널에 할당된 우선 순위를 나타내는 정수입니다. 값이 클수록 연결에 우선적으로 선택될 가능성이 큽니다. 기본 우선 순위는 1이며 음수 값도 사용할 수 있습니다.

HttpChannel

HttpServerChannel

HttpClientChannel

TcpChannel

TcpClientChannel

TcpServerChannel

IpcChannel

IpcClientChannel

IpcServerChannel

secure(TcpChannel)

채널 상에서의 통신이 안전한지 여부를 지정하는 부울 값(true 또는 false)입니다. 기본값은 false입니다. true로 설정하면 tokenImpersonationLevel 속성이 Identification으로 설정되고 protectionLevel 속성이 EncryptAndSign으로 설정됩니다. 보안 TcpClientChannel은 보안 TcpServerChannel에만 연결할 수 있고 비보안 TcpClientChannel은 비보안 TcpServerChannel에만 연결할 수 있습니다.

참고

서버 컴퓨터에서 Windows 95, Windows 98 또는 Windows Me를 실행하는 경우 보안 TcpServerChannel을 지정할 수 없습니다.

TcpChannel

TcpClientChannel

TcpServerChannel

secure(IpcChannel)

채널 상에서의 통신이 안전한지 여부를 지정하는 부울 값(true 또는 false)입니다. 기본값은 false입니다. true로 설정되어 있으면 tokenImpersonationLevel 속성이 Identification으로 설정됩니다. 보안 IpcClientChannel은 보안 또는 비보안 IpcServerChannel에 연결할 수 있지만 비보안 IpcClientChannel은 비보안 IpcServerChannel에만 연결할 수 있습니다.

IpcChannel

IpcClientChannel

IpcServerChannel

protectionLevel

ProtectionLevel 형식의 값입니다. 기본값은 None이고 secure 속성이 true로 설정되지 않은 경우 기본값은 EncryptAndSign입니다. ProtectionLevel 속성을 None 이외의 값으로 설정하려면 secure 속성을 true로 설정해야 합니다.

None은 Windows 95, Windows 98 또는 Windows Me와 호환되는 유일한 설정입니다.

TcpClientChannel

TcpServerChannel

다음 표에서는 지정할 수 있는 클라이언트 채널 속성을 보여 줍니다.

속성 설명 이 속성을 지원하는 형식

clientConnectionLimit

특정 서버에 대해 동시에 열릴 수 있는 연결의 수를 나타내는 정수입니다. 기본값은 2입니다.

HttpChannel

HttpClientChannel

proxyName

원격 서버에 대한 호출을 할 때 프록시 클라이언트에서 사용되는 이름을 지정하는 문자열입니다. 기본적으로 클라이언트 컴퓨터의 호스트 이름이 사용됩니다.

HttpChannel

HttpClientChannel

proxyPort

프록시 클라이언트에서 원격 서버를 호출하는 포트 번호를 지정하는 정수입니다. 기본적으로 런타임에 사용 가능한 권한 없는 포트가 선택됩니다.

HttpChannel

HttpClientChannel

retryCount

클라이언트에서 실패한 원격 호출을 다시 시도하는 횟수를 지정하는 정수입니다. 기본값은 1입니다.

TcpClientChannel

socketCachePolicy

socketCacheTimeout이 소켓 생성 시점에 상대적으로 측정되는지 소켓을 통한 마지막 전송에 상대적으로 측정되는지 여부를 지정하는 SocketCachePolicy 열거형의 멤버입니다. 기본값은 Default입니다.

TcpClientChannel

socketCacheTimeout

TcpClientChannel 개체에서 유지 관리되는 캐시에서 소켓을 제거하는 시간(초)을 지정하는 정수입니다. 기본값은 5초입니다.

TcpClientChannel

connectionTimeout

연결이 성공할 때까지 대기하는 시간(밀리초)을 지정하는 정수입니다. 0 또는 -1은 제한 시간이 무한대임을 나타냅니다. 기본값은 Infinite입니다.

IpcChannel

IpcClientChannel

timeout

연결이 시간 초과되기 전까지 대기할 시간(밀리초)을 지정하는 정수입니다. 0 또는 -1은 제한 시간이 무한대임을 나타냅니다. 기본값은 Infinite입니다.

HttpChannel

HttpClientChannel

TcpChannel

TcpClientChannel

allowAutoRedirect

서버 리디렉션의 자동 처리 사용 여부를 나타내는 부울 값(true 또는 false)입니다.

HttpChannel

HttpClientChannel

credentials

클라이언트의 ID를 나타내는 ICredentials 구현을 가져오거나 설정합니다.

HttpChannel

HttpClientChannel

useAuthenticatedConnectionSharing

서버 채널이 각각의 들어오는 호출을 인증하는 대신 인증된 연결을 다시 사용함을 나타내는 부울 값(true 또는 false)입니다. 기본적으로 이 값은 useDefaultCredentials 값이 true로 설정되어 있으면 true로 설정되고, 그렇지 않으면 false로 설정됩니다. 후자의 경우 각 호출은 서버에서 인증을 요청할 때 인증됩니다. 이것은 프로그래밍 방식이 동일한 다른 경우에도 적용됩니다. 즉, IDictionary를 구현하는 개체를 만들고 "자격 증명" 값을 CredentialCache.DefaultCredentials로 설정한 다음 이 값을 채널 싱크에 전달하거나, ChannelServices.GetChannelSinkProperties 메서드에서 반환되는 IDictionary를 사용하여 같은 작업을 수행할 수 있습니다.

이 이름/값 쌍은 Microsoft Windows 98, Windows NT 4.0, Windows Millennium Edition(Windows Me), Windows 2000, Windows XP Home Edition, Windows XP Professional 및 Windows Server 2003 제품군을 플랫폼으로 사용하는 .NET Framework 버전 1.1에서만 지원됩니다.

HttpChannel

HttpClientChannel

unsafeAuthenticatedConnectionSharing

서버가 인증된 연결 그룹을 만들 때 사용해야 하는 클라이언트의 고유 자격 증명과 연결 그룹 이름을 클라이언트에서 제공함을 나타내는 부울 값(true 또는 false)입니다. 이 값이 true로 설정되어 있으면 connectionGroupName 값은 인증된 사용자 한 명에게만 매핑되어야 합니다. useAuthenticatedConnectionSharing 값이 true로 설정되어 있으면 이 이름/값 쌍이 무시됩니다.

이 이름/값 쌍은 Windows 98, Windows NT 4.0, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional 및 Windows Server 2003 제품군을 플랫폼으로 사용하는 .NET Framework 버전 1.1에서만 지원됩니다.

HttpChannel

HttpClientChannel

connectionGroupName

unsafeAuthenticatedConnectionSharing 값이 지정되었을 경우 서버에서 연결 그룹 이름으로 사용되는 이름을 지정하는 문자열입니다. unsafeAuthenticatedConnectionSharingtrue로 설정되어 있지 않으면 이 이름/값 쌍이 무시됩니다. 값이 지정된 경우 이 이름은 인증된 사용자 한 명에게만 매핑되어야 합니다.

이 이름/값 쌍은 Windows 98, Windows NT 4.0, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional 및 Windows Server 2003 제품군을 플랫폼으로 사용하는 .NET Framework 버전 1.1에서만 지원됩니다.

HttpChannel

HttpClientChannel

useDefaultCredentials

서버 채널을 인증할 때 현재 스레드에 연결된 ID의 자격 증명이 있는지 여부를 지정하는 부울 값(true 또는 false)입니다.

HttpChannel

HttpClientChannel

servicePrincipalName

Kerberos 인증의 servicePrincipalName을 지정하는 문자열입니다. 기본값은 null입니다.

HttpChannel

HttpClientChannel

TcpChannel

TcpClientChannel

tokenImpersonationLevel

TokenImpersonationLevel 형식의 값입니다. 이 속성은 클라이언트가 서버에서 인증되는 방식을 지정합니다. 기본값은 None이고 secure 속성이 true로 설정되지 않은 경우 기본값은 Identification입니다.

TcpChannel

TcpClientChannel

domain

서버 채널에 인증할 때 username으로 지정되는 사용자 이름과 password로 지정된 암호와 함께 사용될 도메인 이름을 지정하는 문자열입니다.

HttpClientChannel

TcpClientChannel

username

서버 채널에 인증할 때 password로 지정된 암호와 domain으로 지정된 도메인과 함께 사용될 사용자 이름을 지정하는 문자열입니다.

HttpClientChannel

TcpClientChannel

password

서버 채널에 인증할 때 username로 지정된 사용자 이름과 domain으로 지정된 도메인과 함께 사용될 암호를 지정하는 문자열입니다.

HttpClientChannel

TcpClientChannel

참고

Windows 98 및 Windows Me에서는 인증 연결 그룹 이름을 식별하는 보안 ID가 없습니다. 따라서 이러한 플랫폼에는 연결 그룹 이름이 하나만 있습니다.

참고

응용 프로그램이 HttpClientChannel 속성에서 ICredentials 구현을 전달하거나 명시적인 username, passworddomain 값을 전달하도록 하려는 경우, unsafeAuthenticatedConnectionSharing 이름/값 쌍과 connectionGroupName 이름/값 쌍을 전달하고 connectionGroupName 값이 인증된 사용자 한 명에게만 매핑되도록 하면 인증 연결 공유를 활성화할 수 있습니다.

다음 표에서는 지정할 수 있는 일반적인 서버 채널 속성을 보여 줍니다.

속성 설명 이 속성을 지원하는 형식

port

채널이 수신하는 포트를 지정하는 정수입니다. 0을 지정하면 원격 시스템에서 자동으로 열린 포트를 선택합니다.

HttpChannel

HttpServerChannel

TcpChannel

TcpServerChannel

suppressChannelData

ChannelData, ChannelData 또는 ChannelData 속성에서 사용할 수 있는 채널 데이터에서 채널이 사용되는지 여부를 지정하는 부울 값(true 또는 false)입니다. 기본값은 false입니다.

HttpChannel

HttpServerChannel

TcpChannel

TcpServerChannel

IpcChannel

IpcServerChannel

useIpAddress

게시 URL에서 컴퓨터 이름 대신 IP 주소를 사용할지 여부를 지정하는 부울 값(true 또는 false)입니다. 예를 들어, 무선 네트워크에서는 종종 네트워크를 통과할 때 이식 가능한 컴퓨터의 IP 주소를 바꿉니다. 이 값에 false를 지정하면 주소 대신 컴퓨터 이름이 사용되므로 로밍하는 동안 원격 통신의 연결이 끊어지지 않습니다. 기본값은 true입니다. 이 속성이 서버 채널에 사용되는 경우 machineName 속성으로 값을 재정의할 수 있습니다. 자세한 내용은 machineName 속성을 참조하십시오.

HttpChannel

HttpServerChannel

TcpChannel

TcpServerChannel

bindTo

서버 채널에서 바인딩해야 하는 NIC(네트워크 인터페이스 카드)의 IP 주소를 지정하는 문자열입니다. 기본값은 System.Net.IPAddress.Any입니다.

HttpChannel

HttpServerChannel

TcpChannel

TcpServerChannel

listen

IChannelReceiverHook.WantsToListen에서 활성화 후크를 허용할지 여부를 지정하는 부울 값(true 또는 false)입니다. 기본값은 true입니다.

HttpChannel

HttpServerChannel

rejectRemoteRequests

다른 컴퓨터에서 온 요청을 거절할지 여부를 지정하는 부울 값(true 또는 false)입니다. true를 지정하면 로컬 컴퓨터에서의 원격 호출만 허용됩니다. 기본값은 false입니다.

TcpChannel

TcpServerChannel

exclusiveAddressUse

다른 응용 프로그램이 IP 주소/포트 조합을 다시 사용하는 것을 채널이 막을지 여부를 지정하는 부울 값(true 또는 false)입니다. 기본값은 true입니다. 이 속성이 true로 설정되면 SocketOptionName 서버 소켓 옵션은 SocketOptionName.ExclusiveAddressUse로 설정됩니다.

이 속성은 Windows NT 4.0(서비스 팩 4이상 포함), Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional 및 Windows Server 2003 제품군을 플랫폼으로 사용하는 .NET Framework 버전 1.1에서만 지원됩니다.

Windows XP SP 2 또는 Windows Server 2003 이전의 플랫폼에서 이 속성을 변경하려면 관리자 권한이 필요합니다.

HttpChannel

HttpServerChannel

TcpChannel

TcpServerChannel

impersonate

서버가 클라이언트를 가장해야 하는지 여부를 지정하는 부울 값(true 또는 false)입니다. 기본값은 false입니다.

TcpChannel

TcpServerChannel

authorizedGroup

이 채널에 연결할 수 있는 권한이 있는 그룹이나 사용자를 지정하는 문자열입니다. 기본값은 권한이 있는 모든 사용자에게 액세스를 허용하는 것입니다.

IpcChannel

IpcServerChannel

portName

서버에서 노출할 포트의 이름을 지정하는 문자열입니다. IpcChannel 또는 IpcServerChannel에 이 속성이 필요합니다.

IpcChannel

IpcServerChannel

authorizationModule

IAuthorizeRemotingConnection 인터페이스를 구현하는 클래스의 클래스 이름, 네임스페이스 및 어셈블리를 지정하는 문자열입니다. 문자열의 형식은 "AuthorizationModuleNameSpace.AuthorizationModuleClass,AuthorizationModuleAssembly"여야 합니다.

TcpChannel

TcpServerChannel

다음 표에서는 지정할 수 있는 채널 싱크 속성을 보여 줍니다.

속성 설명 이 속성을 지원하는 형식

includeVersions

포맷터에서 버전 관리 정보를 포함할지 여부를 지정하는 부울 값(true or false)입니다.

BinaryClientFormatterSink BinaryServerFormatterSink SoapClientFormatterSink SoapServerFormatterSink

strictBinding

버전 정보 없이 형식 이름 및 어셈블리 이름만을 사용하기 전에 버전 정보가 존재하는 경우 받는 포맷터가 먼저 완벽한 버전 정보를 사용하여 형식을 식별할지 여부를 나타내는 부울 값(true 또는 false)입니다. 시스템이 제공한 양쪽 포맷터에 대한 기본값은 false입니다. 자세한 내용은 <formatter> 요소(템플릿)를 참조하십시오.

BinaryServerFormatterSink SoapServerFormatterSink

metadataEnabled

이 싱크가 채널 싱크 체인에 있으면 "?wsdl"에서 끝나는 요청을 받아들일지 여부를 지정하는 부울 값(true 또는 false)입니다. 기본값은 true입니다. 이 속성이 false이면 싱크는 응용 프로그램 도메인의 개체에 대해 메타데이터가 요청되는 모든 경우에 예외를 Throw합니다.

이 속성은 Windows 98, Windows NT 4.0, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional 및 Windows Server 2003 제품군을 플랫폼으로 사용하는 .NET Framework 버전 1.1에서만 지원됩니다.

SdlChannelSink

remoteApplicationMetadataEnabled

개체 URI(Uniform Resource Identifier) "RemoteApplicationMetadata?wsdl"에 대한 요청을 받아들일지 여부를 지정하는 부울 값(true 또는 false)입니다. 이 개체는 응용 프로그램 도메인에 의해 게시된 모든 개체를 설명하는 WSDL(Web Services Description Language)을 반환합니다. 이 속성이 false인 경우 "RemoteApplicationMetadata.rem"에 대한 요청은 예외를 발생시킵니다. 특정 개체 URI에 대한 다른 모든 "?wsdl" 요청은 받아들여집니다. 이 속성이 true이면 전역 메타데이터 요청이 받아들여집니다. 기본값은 false입니다.

이 속성은 Windows 98, Windows NT 4.0, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional 및 Windows Server 2003 제품군을 플랫폼으로 사용하는 .NET Framework 버전 1.1에서만 지원됩니다.

SdlChannelSink

typeFilterLevel

서버 채널에서 시도할 자동 deserialization 수준을 지정하는 문자열 값입니다. 지원되는 값은 Low(기본값) 및 Full입니다. deserialization 수준에 대한 자세한 내용은 .NET Remoting에서의 자동 Deserialization을 참조하십시오.

이 속성은 Windows 98, Windows NT 4.0, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional 및 Windows Server 2003 제품군을 플랫폼으로 사용하는 .NET Framework 버전 1.1에서만 지원됩니다.

BinaryServerFormatterSink SoapServerFormatterSink

참고 항목

작업

방법: 구성 파일에 채널 구성
방법: 프로그래밍 방식으로 채널 구성

참조

원격 설정 스키마

개념

원격 응용 프로그램의 구성
원격 개체 구성
원격 개체 구성