diff --git a/CryptoExchange.Net/Clients/BaseClient.cs b/CryptoExchange.Net/Clients/BaseClient.cs
index 919346e..7ba3d1c 100644
--- a/CryptoExchange.Net/Clients/BaseClient.cs
+++ b/CryptoExchange.Net/Clients/BaseClient.cs
@@ -39,6 +39,11 @@ namespace CryptoExchange.Net.Clients
///
public string Exchange { get; }
+ ///
+ /// Whether client is disposed
+ ///
+ public bool Disposed { get; private set; }
+
///
/// Api clients in this client
///
@@ -125,6 +130,8 @@ namespace CryptoExchange.Net.Clients
///
public virtual void Dispose()
{
+ Disposed = true;
+
foreach (var client in ApiClients)
client.Dispose();
}
diff --git a/CryptoExchange.Net/Interfaces/Clients/IRestClient.cs b/CryptoExchange.Net/Interfaces/Clients/IRestClient.cs
index 09d197f..3328df8 100644
--- a/CryptoExchange.Net/Interfaces/Clients/IRestClient.cs
+++ b/CryptoExchange.Net/Interfaces/Clients/IRestClient.cs
@@ -22,5 +22,10 @@ namespace CryptoExchange.Net.Interfaces.Clients
/// The exchange name
///
string Exchange { get; }
+
+ ///
+ /// Whether client is disposed
+ ///
+ bool Disposed { get; }
}
}
\ No newline at end of file
diff --git a/CryptoExchange.Net/Interfaces/Clients/ISocketClient.cs b/CryptoExchange.Net/Interfaces/Clients/ISocketClient.cs
index ec7a9e3..99d1a96 100644
--- a/CryptoExchange.Net/Interfaces/Clients/ISocketClient.cs
+++ b/CryptoExchange.Net/Interfaces/Clients/ISocketClient.cs
@@ -35,6 +35,11 @@ namespace CryptoExchange.Net.Interfaces.Clients
///
public int CurrentSubscriptions { get; }
+ ///
+ /// Whether client is disposed
+ ///
+ bool Disposed { get; }
+
///
/// Unsubscribe from a stream using the subscription id received when starting the subscription
///