Table of Contents

Class NetworkHelper

Namespace
nanoFramework.Networking
Assembly
System.Net.dll

Network helper class providing helper methods to assist on connecting to a network.

public static class NetworkHelper
Inheritance
NetworkHelper
Inherited Members

Properties

HelperException

Exception that occurred when waiting for the network to become ready.

public static Exception HelperException { get; }

Property Value

Exception

NetworkReady

Event signaling that networking it's ready.

public static ManualResetEvent NetworkReady { get; }

Property Value

ManualResetEvent

Remarks

The conditions for this are setup in the call to SetupNetworkHelper(bool). It will be a composition of network connected, IpAddress available and valid system DateTime.

When using SetupNetworkHelper(bool), this event is reset when the connection is lost and re-signaled when it is restored, accurately reflecting live network state.

Status

Status of NetworkHelper.

public static NetworkHelperStatus Status { get; }

Property Value

NetworkHelperStatus

Methods

Reset()

Resets the NetworkHelper to its initial state, allowing SetupNetworkHelper(bool) to be called again or the network configuration to be changed.

public static void Reset()

Remarks

Call this before switching network configuration or restarting the event-based helper. This method does not disconnect the network interface or alter IP settings.

SetupAndConnectNetwork(CancellationToken, bool)

This will wait for the network connection to be up and optionally for a valid date and time to become available. This method is retryable and can be called multiple times after a previous call times out or fails.

public static bool SetupAndConnectNetwork(CancellationToken token = default, bool requiresDateTime = false)

Parameters

token CancellationToken

A CancellationToken used for timing out the operation.

requiresDateTime bool

Set to true if valid date and time are required.

Returns

bool

true on success. On failure returns false and details with the cause of the failure are made available in the Status property

SetupAndConnectNetwork(IPConfiguration, CancellationToken, bool)

This will wait for the network connection to be up and optionally for a valid date and time to become available. This method is retryable and can be called multiple times after a previous call times out or fails.

public static bool SetupAndConnectNetwork(IPConfiguration ipConfiguration, CancellationToken token = default, bool requiresDateTime = false)

Parameters

ipConfiguration IPConfiguration

The static IPv4 configuration to apply to the Ethernet network interface.

token CancellationToken

A CancellationToken used for timing out the operation.

requiresDateTime bool

Set to true if valid date and time are required.

Returns

bool

true on success. On failure returns false and details with the cause of the failure are made available in the Status property

SetupNetworkHelper(bool)

This method will setup the network configurations so that the NetworkReady event will fire when the required conditions are met. That will be the network connection to be up, having a valid IpAddress and optionally for a valid date and time to become available.

public static void SetupNetworkHelper(bool requiresDateTime = false)

Parameters

requiresDateTime bool

Set to true if valid date and time are required.

Exceptions

InvalidOperationException

If called more than once without an intervening call to Reset().

NotSupportedException

There is no network interface configured. Open the 'Edit Network Configuration' in Device Explorer and configure one.

SetupNetworkHelper(IPConfiguration, bool)

This method will setup the network configurations so that the NetworkReady event will fire when the required conditions are met. That will be the network connection to be up, having a valid IpAddress and optionally for a valid date and time to become available.

public static void SetupNetworkHelper(IPConfiguration ipConfiguration, bool requiresDateTime = false)

Parameters

ipConfiguration IPConfiguration

The static IP configuration you want to apply.

requiresDateTime bool

Set to true if valid date and time are required.

Exceptions

InvalidOperationException

If called more than once without an intervening call to Reset().

NotSupportedException

There is no network interface configured. Open the 'Edit Network Configuration' in Device Explorer and configure one.