ConnectionAsgmtMode

EmailClient.ConnectionAsgmtMode property

获取或设置定义多线程环境下连接分配模式的值 连接类型有以下几种: - 主连接是与邮件客户端一起创建和处理的连接,不能手动创建或处理。 -默认连接是某些线程的默认连接。 如果默认连接存在并且ConnectionAsgmtMode允许,则在该线程中执行的电子邮件客户端的所有方法都将隐式使用该连接。 每个线程只能存在一个默认连接。它可以手动或自动创建。它取决于 EmailClient.ConnectionAsgmtMode 属性。 可以使用 EmailClient.CreateConnection(createAsDefaultConnection = true) 方法手动创建这些连接。 如果不使用默认连接(取决于连接分配模式),则隐式使用主连接。 - 独立连接是未链接到线程。它们可以手动创建,并且必须显式用作方法参数。 可以使用 EmailClient.CreateConnection() 方法或 EmailClient.CreateConnection(createAsDefaultConnection = false) 方法手动创建这些连接。 有以下连接分配类型: - ConnectionAsgmtType.UseMainOrDefault 此模式在电子邮件客户端中默认使用。 如果默认连接尚未创建,或者连接未作为方法参数显式传递,则电子邮件客户端对来自多个线程的所有操作使用主连接。 主连接是与电子邮件客户端同时创建的连接。 用户可以使用 CreateConnection 方法为线程创建默认连接。 如果创建了线程的默认连接,它将隐式用于在此线程中调用的电子邮件客户端的所有方法。 如果未创建线程的默认连接,则将主连接用于在此调用的电子邮件客户端的所有方法thread. 用户还可以使用 CreateConnection 方法创建未与线程链接的连接(非默认连接)。 如果用户想要使用其他连接(不是主连接,也不是默认连接),他必须将此连接作为他想要使用的方法的参数显式传递。 用户可以另外创建任意数量的连接。每个线程只能有一个默认连接。 请注意,如果用户使用 Thread 对象进行多任务编程,默认连接可以正常工作。 如果用户使用 ConnectionPool 或使用任务对象进行多任务编程,这种模式可能会导致程序的错误行为。 为了避免这个问题,用户必须在执行的代码末尾手动处理默认连接(如果他使用它) thread. - ConnectionAsgmtType.UseMain 电子邮件客户端对来自多个线程的所有操作使用主连接。 主连接是与电子邮件客户端同时创建的连接。 用户无法创建默认连接。 用户可以使用 CreateConnection 方法创建未与线程链接的连接(非默认连接)。 如果用户想要使用其他连接(不是主连接,也不是默认连接),他必须将此连接作为他想要使用的方法的参数显式传递。 用户可以另外创建任意数量的连接。 - ConnectionAsgmtType.UseDefault 电子邮件客户端对来自多个线程的所有操作隐式仅使用默认连接。此模式不使用主连接。 如果尚未为某些线程创建默认连接(第一次调用电子邮件客户端方法), 电子邮件客户端在执行第一次操作之前为线程隐式创建默认连接。 用户不能使用 CreateConnection 方法为线程创建默认连接,因为它们是自动创建的。 创建线程的默认连接时,它会隐式用于在此线程中调用的电子邮件客户端的所有方法。read. 用户还可以使用 CreateConnection 方法创建未与线程链接的连接(非默认连接)。 如果用户想要使用其他连接(不是主连接,也不是默认连接),他必须将此连接作为他想要使用的方法的参数显式传递。 用户可以另外创建任意数量的连接。每个线程只能有一个默认连接。 请注意,如果用户使用 Thread 对象进行多任务编程,默认连接可以正常工作。 如果用户使用 ConnectionPool 或使用任务对象进行多任务编程,这种模式可能会导致程序的错误行为。 为了避免这个问题,用户必须在线程中执行的代码末尾手动处理默认连接。

public virtual ConnectionAsgmtType ConnectionAsgmtMode { get; set; }

也可以看看