mirror of
https://github.com/JKorf/CryptoExchange.Net
synced 2025-06-08 00:16:27 +00:00
41 lines
1.2 KiB
Markdown
41 lines
1.2 KiB
Markdown
### I occasionally get a NullReferenceException, what's wrong?
|
|
You probably don't check the result status of a call and just assume the data is always there. `NullReferenceExecption`s will happen when you have code like this `var symbol = client.GetTickersAync().Result.Data.Symbol` because the `Data` property is null when the call fails. Instead check if the call is successful like this:
|
|
````C#
|
|
var tickerResult = await client.GetTickersAync();
|
|
if(!tickerResult.Success)
|
|
{
|
|
// Handle error
|
|
}
|
|
else
|
|
{
|
|
// Handle result, it is now safe to access the Data property
|
|
var symbol = tickerResult.Data.Symbol;
|
|
}
|
|
````
|
|
|
|
### The socket client stops sending updates after a little while
|
|
You probably didn't keep a reference to the socket client and it got disposed.
|
|
Instead of subscribing like this:
|
|
````C#
|
|
private void SomeMethod()
|
|
{
|
|
var socketClient = new BinanceSocketClient();
|
|
socketClient.Spot.SubscribeToOrderBookUpdates("BTCUSDT", data => {
|
|
// Handle data
|
|
});
|
|
}
|
|
````
|
|
Subscribe like this:
|
|
````C#
|
|
private BinanceSocketClient _socketClient = new BinanceSocketClient();
|
|
|
|
// .. rest of the class
|
|
|
|
private void SomeMethod()
|
|
{
|
|
_socketClient.Spot.SubscribeToOrderBookUpdates("BTCUSDT", data => {
|
|
// Handle data
|
|
});
|
|
}
|
|
|
|
```` |