客户端信道属性
本主题介绍一项传统技术,保留该技术是为了向后兼容现有的应用程序,不建议对新的开发使用该技术。现在应该使用 Windows Communication Foundation (WCF) 来开发分布式应用程序。
下表显示可以指定的客户端信道属性。
属性 | 说明 | 支持此属性的类型 |
---|---|---|
allowAutoRedirect |
一个布尔值,指示是否启用服务器重定向的自动处理。 |
|
clientConnectionLimit |
一个整数,指示可以向给定服务器同时开放的连接数。默认值为 2。 |
HttpChannel HttpClientChannel |
connectionGroupName |
一个字符串,指定当 unsafeAuthenticatedConnectionSharing 值设置为 true 时将在服务器上用作连接组名的名称。如果 unsafeAuthenticatedConnectionSharing 未设置为 true,将忽略此属性。指定此属性时,请确保此名称只映射到一位经过身份验证的用户。 此属性仅在下列平台上的 .NET Framework 1.1 版或更高版本中受支持:Windows 98、Windows NT 4.0、Windows Me、Windows 2000、Windows XP Home Edition、Windows XP Professional 和 Windows Server 2003 系列。 |
HttpChannel HttpClientChannel |
connectionTimeout |
一个整数,指定等待成功建立连接所需的毫秒数。0 或 -1 指示超时期限无限。默认值为 Infinite。 |
|
credentials |
一个对象,实现表示客户端身份的 ICredentials 接口。 |
HttpChannel HttpClientChannel |
domain |
一个字符串,指定在对服务器信道进行身份验证时,要与用户名(由 username 指定)和密码(由 password 指定)一起使用的域名。 |
HttpClientChannel |
password |
一个字符串,指定在对服务器信道进行身份验证时,要与用户名(由 username 指定)和域(由 domain 指定)一起使用的密码。 |
HttpClientChannel TcpClientChannel |
proxyName |
一个字符串,指定代理在调用远程服务器时使用的名称。默认情况下,将使用客户端计算机的主机名。 |
HttpChannel HttpClientChannel |
proxyPort |
一个整数,指定代理在调用远程服务器时使用的端口号。默认情况下,将在运行时选择一个可用的非特权端口。 |
HttpChannel HttpClientChannel |
retryCount |
一个整数,指定客户端重复尝试最初失败的远程调用的次数。默认值为 1。 |
TcpClientChannel |
servicePrincipleName |
一个字符串,指定 Kerberos 身份验证的 servicePrincipalName。默认值为 null。 |
HttpChannel HttpClientChannel TcpClientChannel |
socketCachePolicy |
一个 SocketCachePolicy 枚举成员,指定由 socketCacheTimeout 属性指定的时间是从上次使用套接字时开始计算,还是从创建套接字时开始计算。默认值为 Default。 |
TcpClientChannel |
socketCacheTimeout |
一个整数,指定从 TcpClientChannel 对象维护的缓存中移除套接字需要等待的时间(单位为秒)。默认值为 5 秒。 |
TcpClientChannel |
timeout |
一个整数,指定请求在超时前等待的毫秒数。0 或 -1 指示超时期限无限。默认值为 Infinite。 |
HttpChannel HttpClientChannel TcpChannel TcpClientChannel |
tokenImpersonationLevel |
一个 TokenImpersonationLevel 类型的值。此属性指定服务器对客户端进行身份验证的方式。默认值为 None,但如果将 secure 属性设置为 true,默认值将变为 Identification。 |
TcpChannel TcpClientChannel |
unsafeAuthenticatedConnectionSharing |
一个布尔值,指示是否允许共享经过 NTLM 身份验证的高速连接。如果将此值设置为 true,connectionGroupName 就必须仅映射到一位经过身份验证的用户。如果将 useAuthenticatedConnectionSharing 值设置为 true,将忽略此属性。 此属性仅在下列平台上的 .NET Framework 1.1 版或更高版本中受支持:Windows 98、Windows NT 4.0、Windows Me、Windows 2000、Windows XP Home Edition、Windows XP Professional 和 Windows Server 2003。 |
HttpChannel HttpClientChannel |
useAuthenticatedConnectionSharing |
一个布尔值,指示服务器信道是重用经过身份验证的连接,还是对每个传入的调用都进行身份验证。默认情况下,如果将 useDefaultCredentials 值设置为 true,此值也将设置为 true;否则,该值将设置为 false,这意味着当服务器要求身份验证时,将对每个调用都进行身份验证。这同样适用于编程等效项,编程过程可通过两种方式实现此设置:创建一个实现 IDictionary 的对象,将 credentials 属性设置为 CredentialCache.DefaultCredentials,然后将该值传递给信道接收器;使用 ChannelServices.GetChannelSinkProperties 方法返回的 IDictionary。 此名称/值对仅在下列平台上的 .NET Framework 1.1 版或更高版本中受支持:Microsoft Windows 98、Windows NT 4.0、Windows Millennium Edition (Windows Me)、Windows 2000、Windows XP Home Edition、Windows XP Professional 和 Windows Server 2003。 |
HttpChannel HttpClientChannel |
useDefaultCredentials |
一个布尔值,指定在对服务器信道进行身份验证时,是否为与当前线程关联的身份提供凭据。 |
HttpChannel HttpClientChannel |
username |
一个字符串,指定在对服务器信道进行身份验证时,要与密码(由 password 指定)和域(由 domain 指定)一起使用的用户名。 |
HttpClientChannel TcpClientChannel |
注意: |
---|
在 Windows 98 和 Windows Me 上,不存在标识身份验证连接组名的安全 ID。因此,这些平台上只有一个连接组名。 |
注意: |
---|
如果要让应用程序传递 ICredentials 实现或 HttpClientChannel 属性中的显式 username、password 和 domain 值,可以启用身份验证连接共享,方法是将 unsafeAuthenticatedConnectionSharing 属性设置为 true,同时设置 connectionGroupName 属性以确保 connectionGroupName 值仅映射到一位经过身份验证的用户。 |