Socket.Dispose Method

Definition

Releases all resources used by the current instance of the Socket class.

Overloads

Dispose()

Releases all resources used by the current instance of the Socket class.

Dispose(Boolean)

Releases the unmanaged resources used by the Socket, and optionally disposes of the managed resources.

Dispose()

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

Releases all resources used by the current instance of the Socket class.

C#
public void Dispose();

Implements

Remarks

Call Dispose when you are finished using the Socket. The Dispose method leaves the Socket in an unusable state. After calling Dispose, you must release all references to the Socket so the garbage collector can reclaim the memory that the Socket was occupying.

For more information, see Cleaning Up Unmanaged Resources and Implementing a Dispose Method.

Note

Always call Dispose before you release your last reference to the Socket. Otherwise, the resources it is using will not be freed until the garbage collector calls the Socket object's Finalize method.

Applies to

.NET 9 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Dispose(Boolean)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

Releases the unmanaged resources used by the Socket, and optionally disposes of the managed resources.

C#
protected virtual void Dispose(bool disposing);

Parameters

disposing
Boolean

true to release both managed and unmanaged resources; false to releases only unmanaged resources.

Remarks

This method is called by the public Dispose() method and the Finalize() method, if it has been overridden. Dispose() invokes this method with the disposing parameter set to true. Finalize invokes this method with disposing set to false.

When the disposing parameter is true, this method releases all resources held by any managed objects that this Socket references. This method invokes the Dispose() method of each referenced object.

Note

This member outputs trace information when you enable network tracing in your application. For more information, see Network Tracing in .NET Framework.

Notes to Inheritors

Dispose can be called multiple times by other objects. When overriding Dispose(Boolean), be careful not to reference objects that have been previously disposed of in an earlier call to Dispose. For more information about how to implement Dispose(Boolean), see Implementing a Dispose Method.

For more information about Dispose and Finalize(), see Cleaning Up Unmanaged Resources and Overriding the Finalize Method.

Applies to

.NET 9 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0