Aracılığıyla paylaş


HandleInheritability.Inheritable'in AnonymousPipeServerStream.Dispose davranışı

Kaynak sızıntılarını önlemek için, istemci tanıtıcıyı alt işleme geçirdikten sonra AnonymousPipeServerStream.DisposeLocalCopyOfClientHandle() yöntemini çağırmanız gerekir. AnonymousPipeServerStream.Dispose'nin davranışı, DisposeLocalCopyOfClientHandle() çağrısı yapmayan kullanıcılar için benzer sızıntı olasılığını azaltmak amacıyla geliştirilmiştir.

Önceki davranış

Daha önce, AnonymousPipeServerStream örneğine ait olan istemci tanıtıcısı, tanıtıcı hiç kullanılmadığı sürece AnonymousPipeServerStream.Dispose tarafından atılmıyordu.

Yeni davranış

.NET 8'den itibaren, proc dışı iletişim için oluşturulan bir sunucuya ait istemci tanıtıcısı, AnonymousPipeServerStream.Dispose özelliğiyle kullanıma sunulmazsa AnonymousPipeServerStream.ClientSafePipeHandle tarafından atılır. (HandleInheritability.Inheritable'yi AnonymousPipeServerStream(PipeDirection, HandleInheritability) oluşturucusuna geçirerek proc dışı iletişim için bir sunucu oluşturursunuz.)

Sürüm kullanıma sunulmuştur

.NET 8 Preview 1

Kesinti yaratan değişiklik türü

Bu değişiklik davranışsal bir değişikliktir.

Değişiklik nedeni

Bu değişiklik, yaygın bir kaynak sızıntısını önlemek için kullanıma sunulmuştur.

Harici işlem iletişimi için bir sunucu oluşturulduysa, sunucu örneği atıldıktan sonra GetClientHandleAsString() yöntemi aracılığıyla bir dize olarak sunulan istemci tutamacını yeniden kullanmayın.

Etkilenen API'ler