# OpcUpdateNodesHistoryRequest Members

> Reference: Represents the request of the HistoryUpdate service of OPC UA, which updates the history of nodes.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcUpdateNodesHistoryRequest</a></dd>
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx.services">Opc.UaFx.Services</a></dd>
<dt>Assembly</dt>
<dd>Opc.UaFx.Advanced.dll</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced v2.59.0</dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

Inherits members from [OpcServiceRequest&lt;OpcUpdateNodeHistoryDetails, OpcUpdateNodeHistoryDetailsCollection&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcservicerequest-2/members), [OpcServiceRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcservicerequest/members).

## Constructors

### OpcUpdateNodesHistoryRequest

<span class="api-meta">4 overloads</span>

| Overload | Description |
|---|---|
| [OpcUpdateNodesHistoryRequest(IEnumerable&lt;OpcUpdateNodeHistoryDetails&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcupdatenodeshistoryrequest/members#opcupdatenodeshistoryrequest-system-collections-generic-ienumerable-of-opc-uafx-opcupdatenodehistorydetails) | Initializes a new instance of the [OpcUpdateNodesHistoryRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcupdatenodeshistoryrequest/) class using the specified `commands` and a new header. |
| [OpcUpdateNodesHistoryRequest(params OpcUpdateNodeHistoryDetails\[\])](#opcupdatenodeshistoryrequest-opc-uafx-opcupdatenodehistorydetails-array) | Initializes a new instance of the [OpcUpdateNodesHistoryRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcupdatenodeshistoryrequest/) class using the specified `commands` and a new header. |
| [OpcUpdateNodesHistoryRequest(IOpcServiceRequestHeader, IEnumerable&lt;OpcUpdateNodeHistoryDetails&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcupdatenodeshistoryrequest/members#opcupdatenodeshistoryrequest-opc-uafx-services-iopcservicerequestheader-system-collections-generic-ienumerable-of-opc-uafx-opcupdatenodehistorydetails)<span class="api-meta">since v2.7</span> | Initializes a new instance of the [OpcUpdateNodesHistoryRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcupdatenodeshistoryrequest/) class using the specified `header` and `commands`. |
| [OpcUpdateNodesHistoryRequest(IOpcServiceRequestHeader, params OpcUpdateNodeHistoryDetails\[\])](#opcupdatenodeshistoryrequest-opc-uafx-services-iopcservicerequestheader-opc-uafx-opcupdatenodehistorydetails-array)<span class="api-meta">since v2.7</span> | Initializes a new instance of the [OpcUpdateNodesHistoryRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcupdatenodeshistoryrequest/) class using the specified `header` and `commands`. |

#### OpcUpdateNodesHistoryRequest(IEnumerable&lt;OpcUpdateNodeHistoryDetails&gt;)

Initializes a new instance of the [OpcUpdateNodesHistoryRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcupdatenodeshistoryrequest/) class using the specified `commands` and a new header.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcUpdateNodesHistoryRequest(
    IEnumerable<OpcUpdateNodeHistoryDetails> commands)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(commands As IEnumerable(Of OpcUpdateNodeHistoryDetails))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `commands` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcUpdateNodeHistoryDetails](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcupdatenodehistorydetails/)&gt; | The commands which specify the history updates. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `commands` is a null reference (Nothing in Visual Basic). |

#### OpcUpdateNodesHistoryRequest(params OpcUpdateNodeHistoryDetails\[\])

Initializes a new instance of the [OpcUpdateNodesHistoryRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcupdatenodeshistoryrequest/) class using the specified `commands` and a new header.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcUpdateNodesHistoryRequest(
    params OpcUpdateNodeHistoryDetails[] commands)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
<CLSCompliant(False)>
Public Sub New(ParamArray commands As OpcUpdateNodeHistoryDetails())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `commands` | params [OpcUpdateNodeHistoryDetails](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcupdatenodehistorydetails/)[] | The commands which specify the history updates. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `commands` is a null reference (Nothing in Visual Basic). |

#### OpcUpdateNodesHistoryRequest(IOpcServiceRequestHeader, IEnumerable&lt;OpcUpdateNodeHistoryDetails&gt;)

<span class="api-meta">since v2.7</span>

Initializes a new instance of the [OpcUpdateNodesHistoryRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcupdatenodeshistoryrequest/) class using the specified `header` and `commands`.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcUpdateNodesHistoryRequest(
    IOpcServiceRequestHeader header,
    IEnumerable<OpcUpdateNodeHistoryDetails> commands)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
<CLSCompliant(False)>
Public Sub New(
    header As IOpcServiceRequestHeader,
    commands As IEnumerable(Of OpcUpdateNodeHistoryDetails))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `header` | [IOpcServiceRequestHeader](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.iopcservicerequestheader/) | The header of the request. |
| `commands` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcUpdateNodeHistoryDetails](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcupdatenodehistorydetails/)&gt; | The commands which specify the history updates. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `header` or the `commands` is a null reference (Nothing in Visual Basic). |

#### OpcUpdateNodesHistoryRequest(IOpcServiceRequestHeader, params OpcUpdateNodeHistoryDetails\[\])

<span class="api-meta">since v2.7</span>

Initializes a new instance of the [OpcUpdateNodesHistoryRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcupdatenodeshistoryrequest/) class using the specified `header` and `commands`.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcUpdateNodesHistoryRequest(
    IOpcServiceRequestHeader header,
    params OpcUpdateNodeHistoryDetails[] commands)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
<CLSCompliant(False)>
Public Sub New(
    header As IOpcServiceRequestHeader,
    ParamArray commands As OpcUpdateNodeHistoryDetails())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `header` | [IOpcServiceRequestHeader](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.iopcservicerequestheader/) | The header of the request. |
| `commands` | params [OpcUpdateNodeHistoryDetails](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcupdatenodehistorydetails/)[] | The commands which specify the history updates. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `header` or the `commands` is a null reference (Nothing in Visual Basic). |

## Methods

### Validate

<span class="api-meta">protected · override · since v2.50</span>

Validates the request before a server processes it.

<div class="api-signature" data-lang="csharp">

```csharp
protected override void Validate()
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Protected Overrides Sub Validate()
```

</div>

**Overrides**

[Validate](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcservicerequest/members#validate)

**Remarks**

A server rejects the request with [BadNothingToDo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/#badnothingtodo) if it contains no commands or if the node identifier of a command is a null identifier; then none of the commands is executed.
