StreamSocketControl.SerializeConnectionAttempts 属性

定义

一个 值,该值指示在进行多次连接尝试时,尝试是并行还是串行进行。

public:
 property bool SerializeConnectionAttempts { bool get(); void set(bool value); };
bool SerializeConnectionAttempts();

void SerializeConnectionAttempts(bool value);
public bool SerializeConnectionAttempts { get; set; }
var boolean = streamSocketControl.serializeConnectionAttempts;
streamSocketControl.serializeConnectionAttempts = boolean;
Public Property SerializeConnectionAttempts As Boolean

属性值

Boolean

bool

如果为 true,则此 StreamSocket 上最多一次有一次连接尝试处于活动状态。 默认值为 false。

注解

在某些情况下,Windows 运行时可能会尝试使用多个并行方法建立连接。 例如,当 StreamSocket 尝试连接并在网络上检测到代理时,它会尝试直接连接到指定的 IP 地址,并尝试 HTTP CONNECT 请求 (该请求将通过代理) 并行连接。 要成功的第一个连接是 StreamSocket 对象使用的连接。 虽然这在大多数情况下效果良好,但在两次连接尝试都成功的情况下,它会导致某些服务器出现问题。 如果应用使用 StreamSocket 连接到并行连接方法导致服务器上出现问题的服务器,则应在连接之前将 SerializeConnectionAttempts 设置为 true。 这将确保在任何给定时间最多进行一次 TCP 连接尝试,并且只使用一个连接。

在调用 ConnectAsync 尝试连接之前,代码必须设置此属性。 调用 ConnectAsync 后更改此属性值会导致引发异常。

请注意,序列化连接逻辑可能会使建立连接所需的时间更长。

适用于