Bağlantı Havuzu Yeniden Düzenlendi

Aspose.Email 19.3 sürümüyle birlikte, bağlantı havuzu yeniden düzenlendi. Yeni EmailClient sınıf tanıtıldı ve sonunda … yerine geçecek CredentialsByHostClient sınıf. EmailClient sınıf bir … sağlar ConnectionAsgmtMode çok iş parçacıklı bir ortamda bağlantı tahsis modunu tanımlayan özellik. EmailClient.ConnectionAsgmtMode … ile ayarlanır ConnectionAsgmtType enumerable.

Bağlantı Türleri

Aşağıdaki üç bağlantı tipi vardır:

  • Ana bağlantı: Bu, mail istemcisiyle birlikte oluşturulan ve yok edilen bağlantıdır. Manuel olarak oluşturulamaz veya yok edilemez.
  • Varsayılan bağlantı: Kullanıcı iş parçacıkları için varsayılan bağlantıları şununla oluşturabilir CreateConnection metod. Varsayılan bağlantı mevcutsa, bir iş parçacığında yürütülen e-posta istemcisi metodları bu bağlantıyı örtülü olarak kullanacaktır. Her iş parçacığı başına yalnızca bir varsayılan bağlantı bulunabilir. Bu bağlantı manuel veya otomatik olarak oluşturulabilir. EmailClient.ConnectionAsgmtMode özelliğine bağlıdır. Bu bağlantılar şununla manuel olarak oluşturulabilir: EmailClient.CreateConnection(createAsDefaultConnection = true) metod. Varsayılan bağlantı kullanılmazsa (bağlantı tahsis moduna bağlı), ana bağlantı onun yerine örtülü olarak kullanılır.
  • Bağımsız bağlantılar: Bunlar iş parçacıklarına bağlı olmayan bağlantılardır. Manuel olarak oluşturulabilir ve metod parametresi olarak açıkça kullanılmalıdır. Bu bağlantılar şununla manuel olarak oluşturulabilir: EmailClient.CreateConnection() metod ya da EmailClient.CreateConnection(createAsDefaultConnection = false) metod.

Bağlantı Tahsis Türleri

Ayarlamak için EmailClient.ConnectionAsgmtMode özellik, ConnectionAsgmtType enumerable kullanılır. Sağlanan tahsis türleri ConnectionAsgmtType aşağıda listelenmiştir.

  • ConnectionAsgmtType.UseMainOrDefault Bu mod, e-posta istemcilerinde varsayılan olarak kullanılır. E-posta istemcisi, varsayılan bağlantı oluşturulmamışsa veya bir bağlantı yöntem parametresi olarak açıkça geçirilmemişse, birden çok iş parçacığından yapılan tüm işlemler için ana bağlantıyı kullanır. Ana bağlantı, e-posta istemcisiyle aynı anda oluşturulan bir bağlantıdır. Kullanıcı, aşağıdaki yöntemle iş parçacıkları için varsayılan bağlantılar oluşturabilir. CreateConnection metod. Bir iş parçacığı için varsayılan bağlantı oluşturulmuşsa, bu iş parçacığında çağrılan e-posta istemcisi metodlarının tümünde örtülü olarak kullanılır. Bir iş parçacığı için varsayılan bağlantı oluşturulmamışsa, ana bağlantı o iş parçacığında çağrılan e-posta istemcisi metodlarının tümünde kullanılır. Kullanıcı ayrıca, iş parçacıklarına bağlı olmayan (varsayılan olmayan) bağlantıları şununla oluşturabilir: CreateConnection metod. Kullanıcı, diğer bağlantıları (ana ve varsayılan olmayan) kullanmak isterse, bu bağlantıyı kullanmak istediği metodun parametresi olarak açıkça geçirmelidir. Kullanıcı ayrıca istediği kadar bağlantı oluşturabilir. Varsayılan bağlantı iş parçacığı başına sadece bir tane olabilir. Varsayılan bağlantıların doğru çalıştığını, kullanıcı çoklu görev programlaması için Thread nesneleri kullandığında lütfen unutmayın. Kullanıcı ConnectionPool veya Task nesnelerini çoklu görev programlaması için kullandığında bu mod uygulamanın hatalı davranmasına yol açabilir. Bu sorunu önlemek için kullanıcı, kod yürütmesinin sonunda varsayılan bağlantıyı (kullanıyorsa) manuel olarak kapatmalıdır.
  • ConnectionAsgmtType.UseMain E-posta istemcisi, birden çok iş parçacığından yapılan tüm işlemler için ana bağlantıyı kullanır. Ana bağlantı, e-posta istemcisiyle aynı anda oluşturulan bir bağlantıdır. Kullanıcı varsayılan bağlantılar oluşturamaz. Kullanıcı, aşağıdaki yöntemle iş parçacıklarına bağlı olmayan (varsayılan olmayan) bağlantılar oluşturabilir. CreateConnection metod. Kullanıcı, diğer bağlantıları (ana ve varsayılan olmayan) kullanmak isterse, bu bağlantıyı kullanmak istediği metodun parametresi olarak açıkça geçirmelidir. 
  • ConnectionAsgmtType.UseDefault E-posta istemcisi, birden çok iş parçacığından yapılan tüm işlemler için varsayılan bağlantıları dolaylı olarak kullanır. Bu modda ana bağlantı kullanılmaz. Eğer bir iş parçacığı için (e-posta istemci metodunun ilk çağrısı) varsayılan bağlantı oluşturulmamışsa, e-posta istemcisi ilk işlem yürütülmeden önce o iş parçacığı için varsayılan bağlantıyı dolaylı olarak oluşturur. Kullanıcı, aşağıdaki yöntemle iş parçacıkları için varsayılan bağlantılar oluşturamaz. CreateConnectionmetod çünkü otomatik olarak oluşturulurlar. Bir iş parçacığı için varsayılan bağlantı oluşturulduğunda, bu iş parçacığında çağrılan e-posta istemcisi metodlarının tümünde örtülü olarak kullanılır. Kullanıcı ayrıca, iş parçacıklarına bağlı olmayan (varsayılan olmayan) bağlantıları şununla oluşturabilir: CreateConnectionmetod. Kullanıcı, diğer bağlantıları (ana ve varsayılan olmayan) kullanmak isterse, bu bağlantıyı kullanmak istediği metodun parametresi olarak açıkça geçirmelidir. Kullanıcı ayrıca istediği kadar bağlantı oluşturabilir. Her iş parçacığı başına yalnızca bir varsayılan bağlantı kullanılabilir. Varsayılan bağlantıların doğru çalıştığını, kullanıcı çoklu görev programlaması için Thread nesneleri kullandığında lütfen unutmayın. Kullanıcı ConnectionPool veya Task nesnelerini çoklu görev programlaması için kullandığında bu mod uygulamanın hatalı davranmasına yol açabilir. Bu sorunu önlemek için kullanıcı, kod çalışmasının sonunda varsayılan bağlantıyı manuel olarak kapatmalıdır.