# OpcServer Members

> Reference: Represents an OPC UA server which provides the address space defined by its NodeManagers to its clients.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcServer</a></dd>
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx.server">Opc.UaFx.Server</a></dd>
<dt>Assembly</dt>
<dd>Opc.UaFx.Advanced.dll</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced v2.59.0</dd>
</dl>

Inherits members from [OpcServerBase](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members), [OpcApplicationInstance&lt;OpcTransport, OpcServerSecurity&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplicationinstance-2/members).

## Constructors

### OpcServer

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

| Overload | Description |
|---|---|
| [OpcServer()](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#opcserver-noparams) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the [DefaultAddress](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultaddress). |
| [OpcServer(IEnumerable&lt;OpcNodeManager&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#opcserver-system-collections-generic-ienumerable-of-opc-uafx-server-opcnodemanager) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the [DefaultAddress](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultaddress) and the `nodeManagers` specified to provide its address space. |
| [OpcServer(params OpcNodeManager\[\])](#opcserver-opc-uafx-server-opcnodemanager-array) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the [DefaultAddress](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultaddress) and the `nodeManagers` specified to provide its address space. |
| [OpcServer(Action&lt;OpcAddressSpace&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#opcserver-system-action-of-opc-uafx-server-opcaddressspace) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the [DefaultAddress](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultaddress) and the `createNodes` callback specified to create the nodes of its address space. |
| [OpcServer(IEnumerable&lt;IOpcNode&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#opcserver-system-collections-generic-ienumerable-of-opc-uafx-iopcnode) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the [DefaultAddress](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultaddress) to provide the `nodes` specified in its address space. |
| [OpcServer(params IOpcNode\[\])](#opcserver-opc-uafx-iopcnode-array) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the [DefaultAddress](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultaddress) to provide the `nodes` specified in its address space. |
| [OpcServer(string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#opcserver-system-string) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified. |
| [OpcServer(Uri)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#opcserver-system-uri) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified. |
| [OpcServer(string, IEnumerable&lt;OpcNodeManager&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#opcserver-system-string-system-collections-generic-ienumerable-of-opc-uafx-server-opcnodemanager) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified and the `nodeManagers` specified to provide its address space. |
| [OpcServer(Uri, IEnumerable&lt;OpcNodeManager&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#opcserver-system-uri-system-collections-generic-ienumerable-of-opc-uafx-server-opcnodemanager) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified and the `nodeManagers` specified to provide its address space. |
| [OpcServer(string, params OpcNodeManager\[\])](#opcserver-system-string-opc-uafx-server-opcnodemanager-array) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified and the `nodeManagers` specified to provide its address space. |
| [OpcServer(Uri, params OpcNodeManager\[\])](#opcserver-system-uri-opc-uafx-server-opcnodemanager-array) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified and the `nodeManagers` specified to provide its address space. |
| [OpcServer(string, Action&lt;OpcAddressSpace&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#opcserver-system-string-system-action-of-opc-uafx-server-opcaddressspace) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified and the `createNodes` callback specified to create the nodes of its address space. |
| [OpcServer(Uri, Action&lt;OpcAddressSpace&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#opcserver-system-uri-system-action-of-opc-uafx-server-opcaddressspace) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified and the `createNodes` callback specified to create the nodes of its address space. |
| [OpcServer(string, IEnumerable&lt;IOpcNode&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#opcserver-system-string-system-collections-generic-ienumerable-of-opc-uafx-iopcnode) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified to provide the `nodes` specified in its address space. |
| [OpcServer(Uri, IEnumerable&lt;IOpcNode&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#opcserver-system-uri-system-collections-generic-ienumerable-of-opc-uafx-iopcnode) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified to provide the `nodes` specified in its address space. |
| [OpcServer(string, params IOpcNode\[\])](#opcserver-system-string-opc-uafx-iopcnode-array) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified to provide the `nodes` specified in its address space. |
| [OpcServer(Uri, params IOpcNode\[\])](#opcserver-system-uri-opc-uafx-iopcnode-array) | Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified to provide the `nodes` specified in its address space. |

#### OpcServer()

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the [DefaultAddress](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultaddress).

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

```csharp
public OpcServer()
```

</div>

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

```vbnet
Public Sub New()
```

</div>

#### OpcServer(IEnumerable&lt;OpcNodeManager&gt;)

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the [DefaultAddress](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultaddress) and the `nodeManagers` specified to provide its address space.

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

```csharp
public OpcServer(IEnumerable<OpcNodeManager> nodeManagers)
```

</div>

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

```vbnet
Public Sub New(nodeManagers As IEnumerable(Of OpcNodeManager))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeManagers` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/)&gt; | A sequence of [OpcNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/) instances which provide the address space of the server. The first node manager is used as the [DefaultNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultnodemanager). |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `nodeManagers` sequence or one of its items is a null reference (Nothing in Visual Basic). |

#### OpcServer(params OpcNodeManager\[\])

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the [DefaultAddress](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultaddress) and the `nodeManagers` specified to provide its address space.

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

```csharp
public OpcServer(params OpcNodeManager[] nodeManagers)
```

</div>

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

```vbnet
Public Sub New(ParamArray nodeManagers As OpcNodeManager())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeManagers` | params [OpcNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/)[] | An array of [OpcNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/) instances which provide the address space of the server. The first node manager is used as the [DefaultNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultnodemanager). |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `nodeManagers` array or one of its items is a null reference (Nothing in Visual Basic). |

#### OpcServer(Action&lt;OpcAddressSpace&gt;)

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the [DefaultAddress](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultaddress) and the `createNodes` callback specified to create the nodes of its address space.

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

```csharp
public OpcServer(Action<OpcAddressSpace> createNodes)
```

</div>

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

```vbnet
Public Sub New(createNodes As Action(Of OpcAddressSpace))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `createNodes` | [Action](https://learn.microsoft.com/dotnet/api/system.action-1)&lt;[OpcAddressSpace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaddressspace/)&gt; | The callback which is called with an [OpcAddressSpace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaddressspace/) to create the nodes of the address space of the server. |

**Exceptions**

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

#### OpcServer(IEnumerable&lt;IOpcNode&gt;)

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the [DefaultAddress](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultaddress) to provide the `nodes` specified in its address space.

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

```csharp
public OpcServer(IEnumerable<IOpcNode> nodes)
```

</div>

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

```vbnet
Public Sub New(nodes As IEnumerable(Of IOpcNode))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodes` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/)&gt; | A sequence of the nodes to add to the address space of the server. |

**Exceptions**

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

**Remarks**

The constructor does not verify the items of the `nodes`; a node which is a null reference causes [Start](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#start) to throw an [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/).

#### OpcServer(params IOpcNode\[\])

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the [DefaultAddress](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultaddress) to provide the `nodes` specified in its address space.

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

```csharp
public OpcServer(params IOpcNode[] nodes)
```

</div>

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

```vbnet
Public Sub New(ParamArray nodes As IOpcNode())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodes` | params [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/)[] | An array of the nodes to add to the address space of the server. |

**Exceptions**

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

**Remarks**

The constructor does not verify the items of the `nodes`; a node which is a null reference causes [Start](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#start) to throw an [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/).

#### OpcServer(string)

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified.

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

```csharp
public OpcServer(string address)
```

</div>

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

```vbnet
Public Sub New(address As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `address` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) representation of the address of the server which needs to use one of the supported schemes 'opc.tcp' and 'https'. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `address` is equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty) or is not an absolute URI using one of the supported schemes 'opc.tcp' and 'https'. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `address` is a null reference (Nothing in Visual Basic). |

#### OpcServer(Uri)

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified.

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

```csharp
public OpcServer(Uri address)
```

</div>

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

```vbnet
Public Sub New(address As Uri)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `address` | [Uri](https://learn.microsoft.com/dotnet/api/system.uri) | The [Uri](https://learn.microsoft.com/dotnet/api/system.uri) of the address of the server which needs to use one of the supported schemes 'opc.tcp' and 'https'. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `address` does not use one of the supported schemes 'opc.tcp' and 'https'. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `address` is a null reference (Nothing in Visual Basic). |

#### OpcServer(string, IEnumerable&lt;OpcNodeManager&gt;)

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified and the `nodeManagers` specified to provide its address space.

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

```csharp
public OpcServer(string address, IEnumerable<OpcNodeManager> nodeManagers)
```

</div>

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

```vbnet
Public Sub New(
    address As String,
    nodeManagers As IEnumerable(Of OpcNodeManager))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `address` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) representation of the address of the server which needs to use one of the supported schemes 'opc.tcp' and 'https'. |
| `nodeManagers` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/)&gt; | A sequence of [OpcNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/) instances which provide the address space of the server. The first node manager is used as the [DefaultNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultnodemanager). |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `address` is equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty) or is not an absolute URI using one of the supported schemes 'opc.tcp' and 'https'. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `address` or `nodeManagers` sequence or one of its items is a null reference (Nothing in Visual Basic). |

#### OpcServer(Uri, IEnumerable&lt;OpcNodeManager&gt;)

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified and the `nodeManagers` specified to provide its address space.

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

```csharp
public OpcServer(Uri address, IEnumerable<OpcNodeManager> nodeManagers)
```

</div>

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

```vbnet
Public Sub New(address As Uri, nodeManagers As IEnumerable(Of OpcNodeManager))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `address` | [Uri](https://learn.microsoft.com/dotnet/api/system.uri) | The [Uri](https://learn.microsoft.com/dotnet/api/system.uri) of the address of the server which needs to use one of the supported schemes 'opc.tcp' and 'https'. |
| `nodeManagers` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/)&gt; | A sequence of [OpcNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/) instances which provide the address space of the server. The first node manager is used as the [DefaultNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultnodemanager). |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `address` does not use one of the supported schemes 'opc.tcp' and 'https'. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `address` or `nodeManagers` sequence or one of its items is a null reference (Nothing in Visual Basic). |

#### OpcServer(string, params OpcNodeManager\[\])

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified and the `nodeManagers` specified to provide its address space.

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

```csharp
public OpcServer(string address, params OpcNodeManager[] nodeManagers)
```

</div>

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

```vbnet
Public Sub New(address As String, ParamArray nodeManagers As OpcNodeManager())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `address` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) representation of the address of the server which needs to use one of the supported schemes 'opc.tcp' and 'https'. |
| `nodeManagers` | params [OpcNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/)[] | An array of [OpcNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/) instances which provide the address space of the server. The first node manager is used as the [DefaultNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultnodemanager). |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `address` is equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty) or is not an absolute URI using one of the supported schemes 'opc.tcp' and 'https'. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `address` or `nodeManagers` array or one of its items is a null reference (Nothing in Visual Basic). |

#### OpcServer(Uri, params OpcNodeManager\[\])

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified and the `nodeManagers` specified to provide its address space.

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

```csharp
public OpcServer(Uri address, params OpcNodeManager[] nodeManagers)
```

</div>

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

```vbnet
Public Sub New(address As Uri, ParamArray nodeManagers As OpcNodeManager())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `address` | [Uri](https://learn.microsoft.com/dotnet/api/system.uri) | The [Uri](https://learn.microsoft.com/dotnet/api/system.uri) of the address of the server which needs to use one of the supported schemes 'opc.tcp' and 'https'. |
| `nodeManagers` | params [OpcNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/)[] | An array of [OpcNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/) instances which provide the address space of the server. The first node manager is used as the [DefaultNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultnodemanager). |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `address` does not use one of the supported schemes 'opc.tcp' and 'https'. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `address` or `nodeManagers` array or one of its items is a null reference (Nothing in Visual Basic). |

#### OpcServer(string, Action&lt;OpcAddressSpace&gt;)

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified and the `createNodes` callback specified to create the nodes of its address space.

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

```csharp
public OpcServer(string address, Action<OpcAddressSpace> createNodes)
```

</div>

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

```vbnet
Public Sub New(address As String, createNodes As Action(Of OpcAddressSpace))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `address` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) representation of the address of the server which needs to use one of the supported schemes 'opc.tcp' and 'https'. |
| `createNodes` | [Action](https://learn.microsoft.com/dotnet/api/system.action-1)&lt;[OpcAddressSpace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaddressspace/)&gt; | The callback which is called with an [OpcAddressSpace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaddressspace/) to create the nodes of the address space of the server. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `address` is equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty) or is not an absolute URI using one of the supported schemes 'opc.tcp' and 'https'. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `address` or `createNodes` is a null reference (Nothing in Visual Basic). |

#### OpcServer(Uri, Action&lt;OpcAddressSpace&gt;)

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified and the `createNodes` callback specified to create the nodes of its address space.

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

```csharp
public OpcServer(Uri address, Action<OpcAddressSpace> createNodes)
```

</div>

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

```vbnet
Public Sub New(address As Uri, createNodes As Action(Of OpcAddressSpace))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `address` | [Uri](https://learn.microsoft.com/dotnet/api/system.uri) | The [Uri](https://learn.microsoft.com/dotnet/api/system.uri) of the address of the server which needs to use one of the supported schemes 'opc.tcp' and 'https'. |
| `createNodes` | [Action](https://learn.microsoft.com/dotnet/api/system.action-1)&lt;[OpcAddressSpace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaddressspace/)&gt; | The callback which is called with an [OpcAddressSpace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaddressspace/) to create the nodes of the address space of the server. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `address` does not use one of the supported schemes 'opc.tcp' and 'https'. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `address` or `createNodes` is a null reference (Nothing in Visual Basic). |

#### OpcServer(string, IEnumerable&lt;IOpcNode&gt;)

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified to provide the `nodes` specified in its address space.

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

```csharp
public OpcServer(string address, IEnumerable<IOpcNode> nodes)
```

</div>

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

```vbnet
Public Sub New(address As String, nodes As IEnumerable(Of IOpcNode))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `address` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) representation of the address of the server which needs to use one of the supported schemes 'opc.tcp' and 'https'. |
| `nodes` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/)&gt; | A sequence of the nodes to add to the address space of the server. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `address` is equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty) or is not an absolute URI using one of the supported schemes 'opc.tcp' and 'https'. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `address` or `nodes` sequence is a null reference (Nothing in Visual Basic). |

**Remarks**

The constructor does not verify the items of the `nodes`; a node which is a null reference causes [Start](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#start) to throw an [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/).

#### OpcServer(Uri, IEnumerable&lt;IOpcNode&gt;)

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified to provide the `nodes` specified in its address space.

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

```csharp
public OpcServer(Uri address, IEnumerable<IOpcNode> nodes)
```

</div>

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

```vbnet
Public Sub New(address As Uri, nodes As IEnumerable(Of IOpcNode))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `address` | [Uri](https://learn.microsoft.com/dotnet/api/system.uri) | The [Uri](https://learn.microsoft.com/dotnet/api/system.uri) of the address of the server which needs to use one of the supported schemes 'opc.tcp' and 'https'. |
| `nodes` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/)&gt; | A sequence of the nodes to add to the address space of the server. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `address` does not use one of the supported schemes 'opc.tcp' and 'https'. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `address` or `nodes` sequence is a null reference (Nothing in Visual Basic). |

**Remarks**

The constructor does not verify the items of the `nodes`; a node which is a null reference causes [Start](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#start) to throw an [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/).

#### OpcServer(string, params IOpcNode\[\])

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified to provide the `nodes` specified in its address space.

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

```csharp
public OpcServer(string address, params IOpcNode[] nodes)
```

</div>

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

```vbnet
Public Sub New(address As String, ParamArray nodes As IOpcNode())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `address` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) representation of the address of the server which needs to use one of the supported schemes 'opc.tcp' and 'https'. |
| `nodes` | params [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/)[] | An array of the nodes to add to the address space of the server. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `address` is equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty) or is not an absolute URI using one of the supported schemes 'opc.tcp' and 'https'. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `address` or `nodes` array is a null reference (Nothing in Visual Basic). |

**Remarks**

The constructor does not verify the items of the `nodes`; a node which is a null reference causes [Start](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#start) to throw an [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/).

#### OpcServer(Uri, params IOpcNode\[\])

Initializes a new instance of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) class using the `address` specified to provide the `nodes` specified in its address space.

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

```csharp
public OpcServer(Uri address, params IOpcNode[] nodes)
```

</div>

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

```vbnet
Public Sub New(address As Uri, ParamArray nodes As IOpcNode())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `address` | [Uri](https://learn.microsoft.com/dotnet/api/system.uri) | The [Uri](https://learn.microsoft.com/dotnet/api/system.uri) of the address of the server which needs to use one of the supported schemes 'opc.tcp' and 'https'. |
| `nodes` | params [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/)[] | An array of the nodes to add to the address space of the server. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `address` does not use one of the supported schemes 'opc.tcp' and 'https'. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `address` or `nodes` array is a null reference (Nothing in Visual Basic). |

**Remarks**

The constructor does not verify the items of the `nodes`; a node which is a null reference causes [Start](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#start) to throw an [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/).

## Fields

### DefaultAddress

<span class="api-meta">static</span>

Defines the default address (opc.tcp://localhost:4840) used by the constructors of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) which do not take an address.

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

```csharp
public static readonly Uri DefaultAddress
```

</div>

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

```vbnet
Public Shared ReadOnly DefaultAddress As Uri
```

</div>

**Field value**

[Uri](https://learn.microsoft.com/dotnet/api/system.uri)

## Properties

### DefaultNodeManager

Gets the node manager used as the default node manager of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
public OpcNodeManager DefaultNodeManager { get; }
```

</div>

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

```vbnet
Public ReadOnly Property DefaultNodeManager As OpcNodeManager
```

</div>

**Property value**

[OpcNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/)

The first [OpcNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/) of the [NodeManagers](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#nodemanagers). When the server is started without any node manager, a new default node manager is created and added to the [NodeManagers](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#nodemanagers). Before the server has been started the value is the first node manager passed to the constructor or a null reference (Nothing in Visual Basic).

### Diagnostics

Gets the diagnostic summary information of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
public OpcServerDiagnostics Diagnostics { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Diagnostics As OpcServerDiagnostics
```

</div>

**Property value**

[OpcServerDiagnostics](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverdiagnostics/)

An instance of the [OpcServerDiagnostics](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverdiagnostics/) class which provides the diagnostic summary information for the server.

### Discovery

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

Gets the settings the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) uses to make itself known to discovery servers.

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

```csharp
public OpcServerDiscovery Discovery { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Discovery As OpcServerDiscovery
```

</div>

**Property value**

[OpcServerDiscovery](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverdiscovery/)

An instance of the [OpcServerDiscovery](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverdiscovery/) class.

### EstimatedReturnTime

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

Gets or sets a value indicating the time at which the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) is expected to be running.

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

```csharp
public DateTime? EstimatedReturnTime { get; set; }
```

</div>

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

```vbnet
Public Property EstimatedReturnTime As Date?
```

</div>

**Property value**

[Nullable](https://learn.microsoft.com/dotnet/api/system.nullable-1)&lt;[DateTime](https://learn.microsoft.com/dotnet/api/system.datetime)&gt;

A [DateTime](https://learn.microsoft.com/dotnet/api/system.datetime) indicating the time at which the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) is expected to be running; [MinValue](https://learn.microsoft.com/dotnet/api/system.datetime.minvalue) if the estimated return time is unknown or a null reference (Nothing in Visual Basic) if the address space has not yet been created.

**Exceptions**

| Exception | Condition |
|---|---|
| [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception) | The [State](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#state) is not equals [Started](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverstate/#started). |

**Remarks**

This time can be used to trigger the client to start its reconnect logic with some delay. Use a null reference (Nothing in Visual Basic) to set [MinValue](https://learn.microsoft.com/dotnet/api/system.datetime.minvalue) as the new value.

### Globalization

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

Gets the [OpcServerGlobalization](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverglobalization/) instance used to control the localization and other globalization related tasks.

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

```csharp
public OpcServerGlobalization Globalization { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Globalization As OpcServerGlobalization
```

</div>

**Property value**

[OpcServerGlobalization](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverglobalization/)

An instance of the [OpcServerGlobalization](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverglobalization/) class used by the current [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) to perform localization tasks.

### NodeManagers

Gets the node managers which provide the address space of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
public OpcNodeManagerCollection NodeManagers { get; }
```

</div>

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

```vbnet
Public ReadOnly Property NodeManagers As OpcNodeManagerCollection
```

</div>

**Property value**

[OpcNodeManagerCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanagercollection/)

An [OpcNodeManagerCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanagercollection/) of the [OpcNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/) instances used by the server.

### OperationLimits

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

Gets the [OpcOperationLimits](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationlimits/) instance used to maintain the different operation limits used by the server.

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

```csharp
public OpcOperationLimits OperationLimits { get; }
```

</div>

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

```vbnet
Public ReadOnly Property OperationLimits As OpcOperationLimits
```

</div>

**Property value**

[OpcOperationLimits](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationlimits/)

An instance of the [OpcOperationLimits](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationlimits/) class used by the application instance to setup and maintain the different operation limits.

### SystemContext

<span class="api-meta">override</span>

Gets the [OpcContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/) which is used to store the context sensitive data and configuration used by the current [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) instance.

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

```csharp
public override OpcContext SystemContext { get; }
```

</div>

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

```vbnet
Public Overrides ReadOnly Property SystemContext As OpcContext
```

</div>

**Property value**

[OpcContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/)

An instance of the [OpcContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/) class which might be at least [Empty](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/members#empty).

**Overrides**

[SystemContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplicationinstance-2/members#systemcontext)

### UseDynamic

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

Gets or sets a value indicating whether the current [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) shall use generic types to represent dynamically defined custom types.

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

```csharp
public bool UseDynamic { get; set; }
```

</div>

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

```vbnet
Public Property UseDynamic As Boolean
```

</div>

**Property value**

[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)

The value true if the current [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) shall use generic types constructed from the type information offered dynamically; otherwise the value false. The default value is determined by the [UseDynamic](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcautomatism/members#usedynamic) property.

## Methods

### CreateConfiguration

<span class="api-meta">protected · override</span>

Creates the configuration of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) based on the configuration created by the base class. The user token policies of the configuration reflect the access control lists of the [Security](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#security) settings and the transport quotas reflect the [Transport](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#transport) settings.

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

```csharp
protected override OpcApplicationConfiguration CreateConfiguration()
```

</div>

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

```vbnet
<CLSCompliant(False)>
Protected Overrides Function CreateConfiguration() As OpcApplicationConfiguration
```

</div>

**Returns**

[OpcApplicationConfiguration](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplicationconfiguration/)

A new instance of the [OpcApplicationConfiguration](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplicationconfiguration/) class.

**Overrides**

[CreateConfiguration](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#createconfiguration)

### CreateOperationLimits

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

Creates and initializes a new instance of the [OpcOperationLimits](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationlimits/) which is used for the [OperationLimits](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#operationlimits) property.

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

```csharp
protected OpcOperationLimits CreateOperationLimits()
```

</div>

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

```vbnet
Protected Function CreateOperationLimits() As OpcOperationLimits
```

</div>

**Returns**

[OpcOperationLimits](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationlimits/)

A new instance of the type specified by [OpcOperationLimits](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationlimits/).

### GetDataType

<span class="api-meta">6 overloads · since v2.22</span>

| Overload | Description |
|---|---|
| [GetDataType(string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getdatatype-system-string)<span class="api-meta">since v2.22</span> | Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `name` specified. |
| [GetDataType(OpcName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getdatatype-opc-uafx-opcname)<span class="api-meta">since v2.22</span> | Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `name` specified. |
| [GetDataType(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getdatatype-opc-uafx-opcnodeid)<span class="api-meta">since v2.22</span> | Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the type which is identified by the `typeId` specified. |
| [GetDataType(Type)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getdatatype-system-type)<span class="api-meta">since v2.22</span> | Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the type implemented by the `underlyingType` specified. |
| [GetDataType(OpcEncoding)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getdatatype-opc-uafx-opcencoding)<span class="api-meta">since v2.22</span> | Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the type which is identified by the `encoding` specified. |
| [GetDataType(XmlQualifiedName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getdatatype-system-xml-xmlqualifiedname)<span class="api-meta">since v2.22</span> | Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `xmlName` specified. |

**Exceptions (all overloads)**

| Exception | Condition |
|---|---|
| [ObjectDisposedException](https://learn.microsoft.com/dotnet/api/system.objectdisposedexception) | The object has been disposed of. |

#### GetDataType(string)

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

Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `name` specified.

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

```csharp
public OpcDataTypeInfo GetDataType(string name)
```

</div>

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

```vbnet
Public Function GetDataType(name As String) As OpcDataTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) to use to identify the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object to retrieve. |

**Returns**

[OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/)

The [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object its [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/members#name) is equals (regarding its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#value)) to the `name` specified; otherwise a null reference (Nothing in Visual Basic).

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `name` is equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `name` is a null reference (Nothing in Visual Basic). |

#### GetDataType(OpcName)

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

Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `name` specified.

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

```csharp
public OpcDataTypeInfo GetDataType(OpcName name)
```

</div>

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

```vbnet
Public Function GetDataType(name As OpcName) As OpcDataTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) | The [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) of the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object to retrieve. |

**Returns**

[OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/)

The [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object its [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/members#name) is equals to the `name` specified; otherwise a null reference (Nothing in Visual Basic).

**Exceptions**

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

#### GetDataType(OpcNodeId)

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

Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the type which is identified by the `typeId` specified.

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

```csharp
public OpcDataTypeInfo GetDataType(OpcNodeId typeId)
```

</div>

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

```vbnet
Public Function GetDataType(typeId As OpcNodeId) As OpcDataTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `typeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) which identifies the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) to retrieve. |

**Returns**

[OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/)

The [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `typeId` specified or a null reference (Nothing in Visual Basic) if there doesn't exist a known [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is associated with the `typeId` specified.

**Exceptions**

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

#### GetDataType(Type)

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

Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the type implemented by the `underlyingType` specified.

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

```csharp
public OpcDataTypeInfo GetDataType(Type underlyingType)
```

</div>

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

```vbnet
Public Function GetDataType(underlyingType As Type) As OpcDataTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `underlyingType` | [Type](https://learn.microsoft.com/dotnet/api/system.type) | The [Type](https://learn.microsoft.com/dotnet/api/system.type) which implements the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) to retrieve. |

**Returns**

[OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/)

The [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the `underlyingType` specified or a null reference (Nothing in Visual Basic) if there isn't a [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object associated with the `underlyingType` specified.

**Exceptions**

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

#### GetDataType(OpcEncoding)

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

Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the type which is identified by the `encoding` specified.

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

```csharp
public OpcDataTypeInfo GetDataType(OpcEncoding encoding)
```

</div>

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

```vbnet
Public Function GetDataType(encoding As OpcEncoding) As OpcDataTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `encoding` | [OpcEncoding](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcencoding/) | The [OpcEncoding](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcencoding/) which identifies the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) to retrieve. |

**Returns**

[OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/)

The [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `encoding` specified or a null reference (Nothing in Visual Basic) if there doesn't exist a known [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) which is associated with the `encoding` specified.

**Exceptions**

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

#### GetDataType(XmlQualifiedName)

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

Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `xmlName` specified.

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

```csharp
public OpcDataTypeInfo GetDataType(XmlQualifiedName xmlName)
```

</div>

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

```vbnet
Public Function GetDataType(xmlName As XmlQualifiedName) As OpcDataTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `xmlName` | [XmlQualifiedName](https://learn.microsoft.com/dotnet/api/system.xml.xmlqualifiedname) | The [XmlQualifiedName](https://learn.microsoft.com/dotnet/api/system.xml.xmlqualifiedname) of the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object to retrieve. |

**Returns**

[OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/)

The [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object its [XmlName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/members#xmlname) is equals to the `xmlName` specified; otherwise a null reference (Nothing in Visual Basic).

**Exceptions**

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

### GetDataTypes

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

Retrieves all [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects offered by the [IOpcTypeProvider](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopctypeprovider/).

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

```csharp
public OpcDataTypeInfo[] GetDataTypes()
```

</div>

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

```vbnet
Public Function GetDataTypes() As OpcDataTypeInfo()
```

</div>

**Returns**

[OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/)[]

An array that contains all [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects that are offered by the [IOpcTypeProvider](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopctypeprovider/).

**Exceptions**

| Exception | Condition |
|---|---|
| [ObjectDisposedException](https://learn.microsoft.com/dotnet/api/system.objectdisposedexception) | The object has been disposed of. |

### GetDataTypeSystems

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

Retrieves the systems used to describe the data exchanged via OPC UA.

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

```csharp
public OpcDataTypeSystem[] GetDataTypeSystems()
```

</div>

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

```vbnet
Public Function GetDataTypeSystems() As OpcDataTypeSystem()
```

</div>

**Returns**

[OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/)[]

An instance of the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) class which can be used to understand the structure of the data exchanged using a specific type of encoding (see [OpcEncodingType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcencodingtype/)).

**Exceptions**

| Exception | Condition |
|---|---|
| [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception) | The requested operation is currently not supported. |
| [LicenseException](https://learn.microsoft.com/dotnet/api/system.componentmodel.licenseexception) | The license is expired. |
| [ObjectDisposedException](https://learn.microsoft.com/dotnet/api/system.objectdisposedexception) | The object has been disposed of. |

### GetEndpoints

Retrieves the endpoints provided by the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
public IEnumerable<OpcEndpointDescription> GetEndpoints()
```

</div>

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

```vbnet
Public Function GetEndpoints() As IEnumerable(Of OpcEndpointDescription)
```

</div>

**Returns**

[IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcEndpointDescription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointdescription/)&gt;

A sequence of [OpcEndpointDescription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointdescription/) instances describing the endpoints of the server.

**Exceptions**

| Exception | Condition |
|---|---|
| [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception) | The server has not yet been started. |
| [LicenseException](https://learn.microsoft.com/dotnet/api/system.componentmodel.licenseexception) | The license is expired. |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/) | The endpoints could not be retrieved; for more details see exception details. |
| [ObjectDisposedException](https://learn.microsoft.com/dotnet/api/system.objectdisposedexception) | The object has been disposed of. |

### GetNodeType

<span class="api-meta">4 overloads · since v2.50</span>

| Overload | Description |
|---|---|
| [GetNodeType(string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getnodetype-system-string)<span class="api-meta">since v2.50</span> | Retrieves the [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object which is known under the `name` specified. |
| [GetNodeType(OpcName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getnodetype-opc-uafx-opcname)<span class="api-meta">since v2.50</span> | Retrieves the [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object which is known under the `name` specified. |
| [GetNodeType(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getnodetype-opc-uafx-opcnodeid)<span class="api-meta">since v2.50</span> | Retrieves the [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object which declares the type which is identified by the `typeId` specified. |
| [GetNodeType(Type)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getnodetype-system-type)<span class="api-meta">since v2.50</span> | Retrieves the [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object which declares the type implemented by the `underlyingType` specified. |

**Exceptions (all overloads)**

| Exception | Condition |
|---|---|
| [ObjectDisposedException](https://learn.microsoft.com/dotnet/api/system.objectdisposedexception) | The object has been disposed of. |

#### GetNodeType(string)

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

Retrieves the [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object which is known under the `name` specified.

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

```csharp
public OpcNodeTypeInfo GetNodeType(string name)
```

</div>

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

```vbnet
Public Function GetNodeType(name As String) As OpcNodeTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) to use to identify the [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object to retrieve. |

**Returns**

[OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/)

The [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object its [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/members#name) is equals (regarding its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#value)) to the `name` specified; otherwise a null reference (Nothing in Visual Basic).

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `name` is equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `name` is a null reference (Nothing in Visual Basic). |

#### GetNodeType(OpcName)

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

Retrieves the [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object which is known under the `name` specified.

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

```csharp
public OpcNodeTypeInfo GetNodeType(OpcName name)
```

</div>

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

```vbnet
Public Function GetNodeType(name As OpcName) As OpcNodeTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) | The [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) of the [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object to retrieve. |

**Returns**

[OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/)

The [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object its [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/members#name) is equals to the `name` specified; otherwise a null reference (Nothing in Visual Basic).

**Exceptions**

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

#### GetNodeType(OpcNodeId)

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

Retrieves the [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object which declares the type which is identified by the `typeId` specified.

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

```csharp
public OpcNodeTypeInfo GetNodeType(OpcNodeId typeId)
```

</div>

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

```vbnet
Public Function GetNodeType(typeId As OpcNodeId) As OpcNodeTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `typeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) which identifies the [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) to retrieve. |

**Returns**

[OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/)

The [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object which is known under the `typeId` specified or a null reference (Nothing in Visual Basic) if there doesn't exist a known [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object which is associated with the `typeId` specified.

**Exceptions**

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

#### GetNodeType(Type)

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

Retrieves the [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object which declares the type implemented by the `underlyingType` specified.

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

```csharp
public OpcNodeTypeInfo GetNodeType(Type underlyingType)
```

</div>

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

```vbnet
Public Function GetNodeType(underlyingType As Type) As OpcNodeTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `underlyingType` | [Type](https://learn.microsoft.com/dotnet/api/system.type) | The [Type](https://learn.microsoft.com/dotnet/api/system.type) which implements the [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) to retrieve. |

**Returns**

[OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/)

The [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object which declares the `underlyingType` specified or a null reference (Nothing in Visual Basic) if there isn't a [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object associated with the `underlyingType` specified.

**Exceptions**

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

### GetNodeTypes

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

Retrieves all [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) objects offered by the [IOpcTypeProvider](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopctypeprovider/).

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

```csharp
public OpcNodeTypeInfo[] GetNodeTypes()
```

</div>

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

```vbnet
Public Function GetNodeTypes() As OpcNodeTypeInfo()
```

</div>

**Returns**

[OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/)[]

An array that contains all [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) objects that are offered by the [IOpcTypeProvider](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopctypeprovider/).

**Exceptions**

| Exception | Condition |
|---|---|
| [ObjectDisposedException](https://learn.microsoft.com/dotnet/api/system.objectdisposedexception) | The object has been disposed of. |

### GetNodeTypeSystem

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

Retrieves the system used to describe the structural organisation via OPC UA.

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

```csharp
public OpcNodeTypeSystem GetNodeTypeSystem()
```

</div>

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

```vbnet
Public Function GetNodeTypeSystem() As OpcNodeTypeSystem
```

</div>

**Returns**

[OpcNodeTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypesystem/)

An instance of the [OpcNodeTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypesystem/) class which can be used to understand the structural organisation of the nodes provided.

**Exceptions**

| Exception | Condition |
|---|---|
| [LicenseException](https://learn.microsoft.com/dotnet/api/system.componentmodel.licenseexception) | The license is expired. |
| [ObjectDisposedException](https://learn.microsoft.com/dotnet/api/system.objectdisposedexception) | The object has been disposed of. |

### GetSession

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

Retrieves the [OpcSession](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsession/) associated with the `sessionId` specified.

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

```csharp
public OpcSession GetSession(OpcNodeId sessionId)
```

</div>

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

```vbnet
Public Function GetSession(sessionId As OpcNodeId) As OpcSession
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `sessionId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) which uniquely identifies the session requested within the created sessions on the current [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/). |

**Returns**

[OpcSession](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsession/)

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `sessionId` is a null reference (Nothing in Visual Basic). |
| [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception) | The server has not yet been started. |
| [ObjectDisposedException](https://learn.microsoft.com/dotnet/api/system.objectdisposedexception) | The object has been disposed of. |

### GetSessions

Retrieves all currently known sessions created on the current [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
public IEnumerable<OpcSession> GetSessions()
```

</div>

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

```vbnet
Public Function GetSessions() As IEnumerable(Of OpcSession)
```

</div>

**Returns**

[IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcSession](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsession/)&gt;

A sequence of [OpcSession](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsession/) instances.

**Exceptions**

| Exception | Condition |
|---|---|
| [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception) | The server has not yet been started. |
| [LicenseException](https://learn.microsoft.com/dotnet/api/system.componentmodel.licenseexception) | The license is expired. |
| [ObjectDisposedException](https://learn.microsoft.com/dotnet/api/system.objectdisposedexception) | The object has been disposed of. |

### GetSubscriptions

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

Retrieves all currently known subscriptions created on the current [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
public IEnumerable<OpcSubscription> GetSubscriptions()
```

</div>

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

```vbnet
Public Function GetSubscriptions() As IEnumerable(Of OpcSubscription)
```

</div>

**Returns**

[IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsubscription/)&gt;

A sequence of [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsubscription/) instances.

**Exceptions**

| Exception | Condition |
|---|---|
| [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception) | The server has not yet been started. |
| [LicenseException](https://learn.microsoft.com/dotnet/api/system.componentmodel.licenseexception) | The license is expired. |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/) | The subscriptions could not be retrieved; for more details see exception details. |
| [ObjectDisposedException](https://learn.microsoft.com/dotnet/api/system.objectdisposedexception) | The object has been disposed of. |

**Remarks**

The sequence returned is evaluated deferred: the state of the server is verified and the exceptions documented are thrown not before the sequence is enumerated.

### OnCertificateChanged

<span class="api-meta">protected · virtual · since v2.53</span>

Raises the [CertificateChanged](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#certificatechanged) event of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
protected virtual void OnCertificateChanged(OpcCertificateChangedEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnCertificateChanged(
    e As OpcCertificateChangedEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcCertificateChangedEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccertificatechangedeventargs/) | The event data. |

### OnRequestJudgement

<span class="api-meta">protected · virtual · since v2.19</span>

Raises the [RequestJudgement](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#requestjudgement) event of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
protected virtual void OnRequestJudgement(OpcRequestJudgementEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnRequestJudgement(e As OpcRequestJudgementEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcRequestJudgementEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcrequestjudgementeventargs/) | The event data. |

### OnRequestProcessed

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

Raises the [RequestProcessed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#requestprocessed) event of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
protected virtual void OnRequestProcessed(OpcRequestProcessedEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnRequestProcessed(e As OpcRequestProcessedEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcRequestProcessedEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestprocessedeventargs/) | The event data. |

### OnRequestProcessing

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

Raises the [RequestProcessing](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#requestprocessing) event of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
protected virtual void OnRequestProcessing(OpcRequestProcessingEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnRequestProcessing(
    e As OpcRequestProcessingEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcRequestProcessingEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestprocessingeventargs/) | The event data. |

### OnRequestValidated

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

Raises the [RequestValidated](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#requestvalidated) event of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
protected virtual void OnRequestValidated(OpcRequestValidatedEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnRequestValidated(e As OpcRequestValidatedEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcRequestValidatedEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestvalidatedeventargs/) | The event data. |

### OnRequestValidating

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

Raises the [RequestValidating](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#requestvalidating) event of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
protected virtual void OnRequestValidating(OpcRequestValidatingEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnRequestValidating(
    e As OpcRequestValidatingEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcRequestValidatingEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestvalidatingeventargs/) | The event data. |

### OnSessionActivated

<span class="api-meta">protected · virtual</span>

Raises the [SessionActivated](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#sessionactivated) event of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
protected virtual void OnSessionActivated(OpcSessionEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnSessionActivated(e As OpcSessionEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcSessionEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsessioneventargs/) | The event data. |

### OnSessionActivating

<span class="api-meta">protected · virtual</span>

Raises the [SessionActivating](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#sessionactivating) event of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
protected virtual void OnSessionActivating(EventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnSessionActivating(e As EventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [EventArgs](https://learn.microsoft.com/dotnet/api/system.eventargs) | The event data. |

### OnSessionActivationFailed

<span class="api-meta">protected · virtual · since v2.58</span>

Raises the [SessionActivationFailed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#sessionactivationfailed) event.

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

```csharp
protected virtual void OnSessionActivationFailed(
    OpcSessionActivationFailedEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnSessionActivationFailed(
    e As OpcSessionActivationFailedEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcSessionActivationFailedEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsessionactivationfailedeventargs/) | The data describing the rejected activation. |

### OnSessionClosed

<span class="api-meta">protected · virtual</span>

Raises the [SessionClosed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#sessionclosed) event of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
protected virtual void OnSessionClosed(EventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnSessionClosed(e As EventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [EventArgs](https://learn.microsoft.com/dotnet/api/system.eventargs) | The event data. |

### OnSessionClosing

<span class="api-meta">protected · virtual</span>

Raises the [SessionClosing](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#sessionclosing) event of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
protected virtual void OnSessionClosing(OpcSessionEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnSessionClosing(e As OpcSessionEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcSessionEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsessioneventargs/) | The event data. |

### OnSessionCreated

<span class="api-meta">protected · virtual</span>

Raises the [SessionCreated](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#sessioncreated) event of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
protected virtual void OnSessionCreated(OpcSessionEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnSessionCreated(e As OpcSessionEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcSessionEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsessioneventargs/) | The event data. |

### OnSessionCreating

<span class="api-meta">protected · virtual</span>

Raises the [SessionCreating](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#sessioncreating) event of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
protected virtual void OnSessionCreating(EventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnSessionCreating(e As EventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [EventArgs](https://learn.microsoft.com/dotnet/api/system.eventargs) | The event data. |

### OnSubscriptionCreated

<span class="api-meta">protected · virtual</span>

Raises the [SubscriptionCreated](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#subscriptioncreated) event of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
protected virtual void OnSubscriptionCreated(OpcSubscriptionEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnSubscriptionCreated(e As OpcSubscriptionEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcSubscriptionEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsubscriptioneventargs/) | The event data. |

### OnSubscriptionDeleted

<span class="api-meta">protected · virtual</span>

Raises the [SubscriptionDeleted](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#subscriptiondeleted) event of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
protected virtual void OnSubscriptionDeleted(OpcSubscriptionEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnSubscriptionDeleted(e As OpcSubscriptionEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcSubscriptionEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsubscriptioneventargs/) | The event data. |

### OnTypeResolve

<span class="api-meta">protected · virtual · since v2.53</span>

Raises the [TypeResolve](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#typeresolve) event of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
protected virtual void OnTypeResolve(OpcTypeResolveEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnTypeResolve(e As OpcTypeResolveEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcTypeResolveEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctyperesolveeventargs/) | The event data. |

### RegisterNamespace

<span class="api-meta">3 overloads · since v2.50</span>

| Overload | Description |
|---|---|
| [RegisterNamespace(string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#registernamespace-system-string)<span class="api-meta">since v2.50</span> | Registers the `namespaceUri` specified in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered. |
| [RegisterNamespace(Uri)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#registernamespace-system-uri)<span class="api-meta">since v2.50</span> | Registers the `namespaceUri` specified in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered. |
| [RegisterNamespace(OpcNamespace)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#registernamespace-opc-uafx-opcnamespace)<span class="api-meta">since v2.50</span> | Registers the URI of the `namespace` specified in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered. |

#### RegisterNamespace(string)

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

Registers the `namespaceUri` specified in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered.

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

```csharp
public OpcNamespace RegisterNamespace(string namespaceUri)
```

</div>

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

```vbnet
Public Function RegisterNamespace(namespaceUri As String) As OpcNamespace
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `namespaceUri` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The URI of the namespace to register. |

**Returns**

[OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/)

An [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) which refers to the `namespaceUri` and its index in the namespace table of the server.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `namespaceUri` is equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `namespaceUri` is a null reference (Nothing in Visual Basic). |

#### RegisterNamespace(Uri)

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

Registers the `namespaceUri` specified in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered.

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

```csharp
public OpcNamespace RegisterNamespace(Uri namespaceUri)
```

</div>

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

```vbnet
Public Function RegisterNamespace(namespaceUri As Uri) As OpcNamespace
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `namespaceUri` | [Uri](https://learn.microsoft.com/dotnet/api/system.uri) | The [Uri](https://learn.microsoft.com/dotnet/api/system.uri) of the namespace to register. |

**Returns**

[OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/)

An [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) which refers to the `namespaceUri` and its index in the namespace table of the server.

**Exceptions**

| Exception | Condition |
|---|---|
| [FormatException](https://learn.microsoft.com/dotnet/api/system.formatexception) | The `namespaceUri` is not a valid namespace (see [Create](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/members#create-system-uri-system-int32)). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `namespaceUri` is a null reference (Nothing in Visual Basic). |

**Remarks**

The `namespaceUri` is registered in the namespace table before it is verified to be a valid namespace; therefore it remains registered in case there a [FormatException](https://learn.microsoft.com/dotnet/api/system.formatexception) is thrown.

#### RegisterNamespace(OpcNamespace)

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

Registers the URI of the `namespace` specified in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered.

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

```csharp
public OpcNamespace RegisterNamespace(OpcNamespace @namespace)
```

</div>

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

```vbnet
Public Function RegisterNamespace([namespace] As OpcNamespace) As OpcNamespace
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `namespace` | [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) | The [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) to register. |

**Returns**

[OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/)

An [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) which refers to the URI of the `namespace` and its index in the namespace table of the server. This is either the `namespace` specified or a new instance.

**Exceptions**

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

### RegisterNamespaces

<span class="api-meta">6 overloads · since v2.50</span>

| Overload | Description |
|---|---|
| [RegisterNamespaces(IEnumerable&lt;string&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#registernamespaces-system-collections-generic-ienumerable-of-system-string)<span class="api-meta">since v2.50</span> | Registers each of the namespaces specified by the `namespaceUris` in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered. |
| [RegisterNamespaces(IEnumerable&lt;Uri&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#registernamespaces-system-collections-generic-ienumerable-of-system-uri)<span class="api-meta">since v2.50</span> | Registers each of the namespaces specified by the `namespaceUris` in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered. |
| [RegisterNamespaces(IEnumerable&lt;OpcNamespace&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#registernamespaces-system-collections-generic-ienumerable-of-opc-uafx-opcnamespace)<span class="api-meta">since v2.50</span> | Registers each of the namespaces specified by the `namespaces` in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered. |
| [RegisterNamespaces(params string\[\])](#registernamespaces-system-string-array)<span class="api-meta">since v2.50</span> | Registers each of the namespaces specified by the `namespaceUris` in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered. |
| [RegisterNamespaces(params Uri\[\])](#registernamespaces-system-uri-array)<span class="api-meta">since v2.50</span> | Registers each of the namespaces specified by the `namespaceUris` in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered. |
| [RegisterNamespaces(params OpcNamespace\[\])](#registernamespaces-opc-uafx-opcnamespace-array)<span class="api-meta">since v2.50</span> | Registers each of the namespaces specified by the `namespaces` in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered. |

#### RegisterNamespaces(IEnumerable&lt;string&gt;)

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

Registers each of the namespaces specified by the `namespaceUris` in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered.

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

```csharp
public OpcNamespace[] RegisterNamespaces(IEnumerable<string> namespaceUris)
```

</div>

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

```vbnet
Public Function RegisterNamespaces(
    namespaceUris As IEnumerable(Of String)) As OpcNamespace()
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `namespaceUris` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[String](https://learn.microsoft.com/dotnet/api/system.string)&gt; | A sequence of the URIs of the namespaces to register. |

**Returns**

[OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/)[]

An array of the [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) instances which refer to the namespaces registered and their index in the namespace table of the server, in the order of the `namespaceUris`.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | One of the items of the `namespaceUris` is equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `namespaceUris` sequence or one of its items is a null reference (Nothing in Visual Basic). |

#### RegisterNamespaces(IEnumerable&lt;Uri&gt;)

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

Registers each of the namespaces specified by the `namespaceUris` in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered.

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

```csharp
public OpcNamespace[] RegisterNamespaces(IEnumerable<Uri> namespaceUris)
```

</div>

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

```vbnet
Public Function RegisterNamespaces(
    namespaceUris As IEnumerable(Of Uri)) As OpcNamespace()
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `namespaceUris` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[Uri](https://learn.microsoft.com/dotnet/api/system.uri)&gt; | A sequence of the [Uri](https://learn.microsoft.com/dotnet/api/system.uri) instances of the namespaces to register. |

**Returns**

[OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/)[]

An array of the [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) instances which refer to the namespaces registered and their index in the namespace table of the server, in the order of the `namespaceUris`.

**Exceptions**

| Exception | Condition |
|---|---|
| [FormatException](https://learn.microsoft.com/dotnet/api/system.formatexception) | One of the items of the `namespaceUris` is not a valid namespace (see [Create](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/members#create-system-uri-system-int32)). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `namespaceUris` sequence or one of its items is a null reference (Nothing in Visual Basic). |

#### RegisterNamespaces(IEnumerable&lt;OpcNamespace&gt;)

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

Registers each of the namespaces specified by the `namespaces` in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered.

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

```csharp
public OpcNamespace[] RegisterNamespaces(IEnumerable<OpcNamespace> namespaces)
```

</div>

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

```vbnet
Public Function RegisterNamespaces(
    namespaces As IEnumerable(Of OpcNamespace)) As OpcNamespace()
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `namespaces` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/)&gt; | A sequence of the [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) instances to register. |

**Returns**

[OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/)[]

An array of the [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) instances which refer to the namespaces registered and their index in the namespace table of the server, in the order of the `namespaces`.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `namespaces` sequence or one of its items is a null reference (Nothing in Visual Basic). |

#### RegisterNamespaces(params string\[\])

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

Registers each of the namespaces specified by the `namespaceUris` in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered.

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

```csharp
public OpcNamespace[] RegisterNamespaces(params string[] namespaceUris)
```

</div>

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

```vbnet
Public Function RegisterNamespaces(
    ParamArray namespaceUris As String()) As OpcNamespace()
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `namespaceUris` | params [String](https://learn.microsoft.com/dotnet/api/system.string)[] | An array of the URIs of the namespaces to register. |

**Returns**

[OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/)[]

An array of the [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) instances which refer to the namespaces registered and their index in the namespace table of the server, in the order of the `namespaceUris`.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | One of the items of the `namespaceUris` is equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `namespaceUris` array or one of its items is a null reference (Nothing in Visual Basic). |

#### RegisterNamespaces(params Uri\[\])

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

Registers each of the namespaces specified by the `namespaceUris` in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered.

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

```csharp
public OpcNamespace[] RegisterNamespaces(params Uri[] namespaceUris)
```

</div>

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

```vbnet
Public Function RegisterNamespaces(
    ParamArray namespaceUris As Uri()) As OpcNamespace()
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `namespaceUris` | params [Uri](https://learn.microsoft.com/dotnet/api/system.uri)[] | An array of the [Uri](https://learn.microsoft.com/dotnet/api/system.uri) instances of the namespaces to register. |

**Returns**

[OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/)[]

An array of the [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) instances which refer to the namespaces registered and their index in the namespace table of the server, in the order of the `namespaceUris`.

**Exceptions**

| Exception | Condition |
|---|---|
| [FormatException](https://learn.microsoft.com/dotnet/api/system.formatexception) | One of the items of the `namespaceUris` is not a valid namespace (see [Create](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/members#create-system-uri-system-int32)). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `namespaceUris` array or one of its items is a null reference (Nothing in Visual Basic). |

#### RegisterNamespaces(params OpcNamespace\[\])

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

Registers each of the namespaces specified by the `namespaces` in the namespace table of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) unless it is already registered.

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

```csharp
public OpcNamespace[] RegisterNamespaces(params OpcNamespace[] namespaces)
```

</div>

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

```vbnet
Public Function RegisterNamespaces(
    ParamArray namespaces As OpcNamespace()) As OpcNamespace()
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `namespaces` | params [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/)[] | An array of the [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) instances to register. |

**Returns**

[OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/)[]

An array of the [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) instances which refer to the namespaces registered and their index in the namespace table of the server, in the order of the `namespaces`.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `namespaces` array or one of its items is a null reference (Nothing in Visual Basic). |

### ReportEvent

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

| Overload | Description |
|---|---|
| [ReportEvent(OpcEventNode)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#reportevent-opc-uafx-opceventnode) | Produces a global event using the `eventNode` specified. |
| [ReportEvent(OpcEventSeverity, OpcText)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#reportevent-opc-uafx-opceventseverity-opc-uafx-opctext) | Produces a global event using the event data specified. |
| [ReportEvent(OpcEventSeverity, OpcText, params object\[\])](#reportevent-opc-uafx-opceventseverity-opc-uafx-opctext-system-object-array) | Produces a global event using the event data specified. |
| [ReportEvent(OpcNodeId, string, OpcEventSeverity, OpcText)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#reportevent-opc-uafx-opcnodeid-system-string-opc-uafx-opceventseverity-opc-uafx-opctext) | Produces a global event using the event data specified. |
| [ReportEvent(OpcNodeId, string, OpcEventSeverity, OpcText, params object\[\])](#reportevent-opc-uafx-opcnodeid-system-string-opc-uafx-opceventseverity-opc-uafx-opctext-system-object-array) | Produces a global event using the event data specified. |
| [ReportEvent(IOpcNode, OpcEventSeverity, OpcText)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#reportevent-opc-uafx-iopcnode-opc-uafx-opceventseverity-opc-uafx-opctext) | Produces a global event using the event data specified. |
| [ReportEvent(IOpcNode, OpcEventSeverity, OpcText, params object\[\])](#reportevent-opc-uafx-iopcnode-opc-uafx-opceventseverity-opc-uafx-opctext-system-object-array) | Produces a global event using the event data specified. |

**Exceptions (all overloads)**

| Exception | Condition |
|---|---|
| [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception) | The [State](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#state) is not equals [Started](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverstate/#started). |
| [LicenseException](https://learn.microsoft.com/dotnet/api/system.componentmodel.licenseexception) | The license is expired. |
| [ObjectDisposedException](https://learn.microsoft.com/dotnet/api/system.objectdisposedexception) | The object has been disposed of. |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/) | The operation failed (see exception details for more information). |

#### ReportEvent(OpcEventNode)

Produces a global event using the `eventNode` specified.

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

```csharp
public void ReportEvent(OpcEventNode eventNode)
```

</div>

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

```vbnet
Public Sub ReportEvent(eventNode As OpcEventNode)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `eventNode` | [OpcEventNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventnode/) | The [OpcEventNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventnode/) its event information is to be reported as a global event. |

**Exceptions**

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

#### ReportEvent(OpcEventSeverity, OpcText)

Produces a global event using the event data specified.

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

```csharp
public void ReportEvent(OpcEventSeverity severity, OpcText message)
```

</div>

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

```vbnet
Public Sub ReportEvent(severity As OpcEventSeverity, message As OpcText)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `severity` | [OpcEventSeverity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventseverity/) | An indication of the urgency of the event. |
| `message` | [OpcText](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctext/) | A human-readable and localizable text description of the event. |

**Exceptions**

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

#### ReportEvent(OpcEventSeverity, OpcText, params object\[\])

Produces a global event using the event data specified.

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

```csharp
public void ReportEvent(
    OpcEventSeverity severity,
    OpcText message,
    params object[] arguments)
```

</div>

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

```vbnet
Public Sub ReportEvent(
    severity As OpcEventSeverity,
    message As OpcText,
    ParamArray arguments As Object())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `severity` | [OpcEventSeverity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventseverity/) | An indication of the urgency of the event. |
| `message` | [OpcText](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctext/) | A human-readable and localizable text description of the event with format placeholders which where replaced with the `arguments` specified. |
| `arguments` | params [Object](https://learn.microsoft.com/dotnet/api/system.object)[] | The values to place into the `message` using its format placeholders. |

**Exceptions**

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

#### ReportEvent(OpcNodeId, string, OpcEventSeverity, OpcText)

Produces a global event using the event data specified.

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

```csharp
public void ReportEvent(
    OpcNodeId sourceNodeId,
    string sourceName,
    OpcEventSeverity severity,
    OpcText message)
```

</div>

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

```vbnet
Public Sub ReportEvent(
    sourceNodeId As OpcNodeId,
    sourceName As String,
    severity As OpcEventSeverity,
    message As OpcText)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `sourceNodeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) which is to be used for the [SourceNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcevent/members#sourcenodeid) property to define the origin of the event produced. |
| `sourceName` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) which is to be used for the [SourceName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcevent/members#sourcename). |
| `severity` | [OpcEventSeverity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventseverity/) | An indication of the urgency of the event. |
| `message` | [OpcText](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctext/) | A human-readable and localizable text description of the event. |

**Exceptions**

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

#### ReportEvent(OpcNodeId, string, OpcEventSeverity, OpcText, params object\[\])

Produces a global event using the event data specified.

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

```csharp
public void ReportEvent(
    OpcNodeId sourceNodeId,
    string sourceName,
    OpcEventSeverity severity,
    OpcText message,
    params object[] arguments)
```

</div>

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

```vbnet
Public Sub ReportEvent(
    sourceNodeId As OpcNodeId,
    sourceName As String,
    severity As OpcEventSeverity,
    message As OpcText,
    ParamArray arguments As Object())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `sourceNodeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) which is to be used for the [SourceNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcevent/members#sourcenodeid) property to define the origin of the event produced. |
| `sourceName` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) which is to be used for the [SourceName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcevent/members#sourcename). |
| `severity` | [OpcEventSeverity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventseverity/) | An indication of the urgency of the event. |
| `message` | [OpcText](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctext/) | A human-readable and localizable text description of the event with format placeholders which where replaced with the `arguments` specified. |
| `arguments` | params [Object](https://learn.microsoft.com/dotnet/api/system.object)[] | The values to place into the `message` using its format placeholders. |

**Exceptions**

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

#### ReportEvent(IOpcNode, OpcEventSeverity, OpcText)

Produces a global event using the event data specified.

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

```csharp
public void ReportEvent(
    IOpcNode source,
    OpcEventSeverity severity,
    OpcText message)
```

</div>

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

```vbnet
Public Sub ReportEvent(
    source As IOpcNode,
    severity As OpcEventSeverity,
    message As OpcText)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `source` | [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) | The [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) instance its [Id](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnodeinfo/members#id) is used for the [SourceNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcevent/members#sourcenodeid) property and its [SymbolicName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnodeinfo/members#symbolicname) is used for the [SourceName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcevent/members#sourcename) property to define the origin of the event produced. |
| `severity` | [OpcEventSeverity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventseverity/) | An indication of the urgency of the event. |
| `message` | [OpcText](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctext/) | A human-readable and localizable text description of the event. |

**Exceptions**

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

#### ReportEvent(IOpcNode, OpcEventSeverity, OpcText, params object\[\])

Produces a global event using the event data specified.

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

```csharp
public void ReportEvent(
    IOpcNode source,
    OpcEventSeverity severity,
    OpcText message,
    params object[] arguments)
```

</div>

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

```vbnet
Public Sub ReportEvent(
    source As IOpcNode,
    severity As OpcEventSeverity,
    message As OpcText,
    ParamArray arguments As Object())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `source` | [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) | The [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) instance its [Id](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnodeinfo/members#id) is used for the [SourceNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcevent/members#sourcenodeid) property and its [SymbolicName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnodeinfo/members#symbolicname) is used for the [SourceName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcevent/members#sourcename) property to define the origin of the event produced. |
| `severity` | [OpcEventSeverity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventseverity/) | An indication of the urgency of the event. |
| `message` | [OpcText](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctext/) | A human-readable and localizable text description of the event with format placeholders which where replaced with the `arguments` specified. |
| `arguments` | params [Object](https://learn.microsoft.com/dotnet/api/system.object)[] | The values to place into the `message` using its format placeholders. |

**Exceptions**

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

### ResumeCore

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

Resumes the suspended server by setting the state of its underlying server instance to running.

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

```csharp
protected override void ResumeCore()
```

</div>

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

```vbnet
Protected Overrides Sub ResumeCore()
```

</div>

**Overrides**

[ResumeCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#resumecore)

### StartCore

<span class="api-meta">protected · override</span>

Starts the server using the `configuration` specified. Before the server is started, the first node manager of the [NodeManagers](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#nodemanagers) becomes the [DefaultNodeManager](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#defaultnodemanager); if there is no node manager a new default node manager is created and added to the [NodeManagers](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#nodemanagers).

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

```csharp
protected override void StartCore(OpcApplicationConfiguration configuration)
```

</div>

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

```vbnet
<CLSCompliant(False)>
Protected Overrides Sub StartCore(configuration As OpcApplicationConfiguration)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `configuration` | [OpcApplicationConfiguration](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplicationconfiguration/) | The [OpcApplicationConfiguration](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplicationconfiguration/) to use to start the server. |

**Exceptions**

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

**Overrides**

[StartCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#startcore)

### StopCore

<span class="api-meta">protected · override</span>

Stops the server.

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

```csharp
protected override void StopCore()
```

</div>

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

```vbnet
Protected Overrides Sub StopCore()
```

</div>

**Overrides**

[StopCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#stopcore)

### SuspendCore

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

Suspends the server by setting the state of its underlying server instance to suspended.

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

```csharp
protected override void SuspendCore()
```

</div>

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

```vbnet
Protected Overrides Sub SuspendCore()
```

</div>

**Overrides**

[SuspendCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#suspendcore)

## Events

### CertificateChanged

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

Occurs when a new certificate has been assigned to the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) through a [OpcSession](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsession/) using an identity which is in the role [SecurityAdmin](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurityroles/members#securityadmin).

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

```csharp
public event OpcCertificateChangedEventHandler CertificateChanged
```

</div>

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

```vbnet
Public Event CertificateChanged As OpcCertificateChangedEventHandler
```

</div>

**Event type**

[OpcCertificateChangedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccertificatechangedeventhandler/)

### RequestJudgement

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

Occurs when the validation of a request does not fulfill the requirements for a valid request.

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

```csharp
public event OpcRequestJudgementEventHandler RequestJudgement
```

</div>

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

```vbnet
Public Event RequestJudgement As OpcRequestJudgementEventHandler
```

</div>

**Event type**

[OpcRequestJudgementEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcrequestjudgementeventhandler/)

**Remarks**

This event can be used to substitute the default judgement of such potential suspect situations which would otherwise throw an exception and reject a request.

### RequestProcessed

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

Occurs after the server processed a request, whether it succeeded or failed.

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

```csharp
public event OpcRequestProcessedEventHandler RequestProcessed
```

</div>

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

```vbnet
Public Event RequestProcessed As OpcRequestProcessedEventHandler
```

</div>

**Event type**

[OpcRequestProcessedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestprocessedeventhandler/)

**Remarks**

The request and the response are of the type of the service, such as [OpcReadNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcreadnodesrequest/) and [OpcReadNodesResponse](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcreadnodesresponse/), for the services on nodes and on their history. For other services, such as those of sessions and discovery, they are only described by the [RequestType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestprocessedeventargs/members#requesttype).

A failed request states its error in the [Exception](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestprocessedeventargs/members#exception).

### RequestProcessing

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

Occurs as soon as the server received a request, before it checks the session and the user and before it decodes the request into the type of its service.

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

```csharp
public event OpcRequestProcessingEventHandler RequestProcessing
```

</div>

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

```vbnet
Public Event RequestProcessing As OpcRequestProcessingEventHandler
```

</div>

**Event type**

[OpcRequestProcessingEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestprocessingeventhandler/)

**Remarks**

The [Request](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestprocessingeventargs/members#request) therefore only carries the request header. To inspect the content of a request or to reject it, use the [RequestValidating](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#requestvalidating) event instead.

### RequestValidated

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

Occurs after a request passed the validation, including the [RequestValidating](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#requestvalidating) event, and right before the server processes it.

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

```csharp
public event OpcRequestValidatedEventHandler RequestValidated
```

</div>

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

```vbnet
Public Event RequestValidated As OpcRequestValidatedEventHandler
```

</div>

**Event type**

[OpcRequestValidatedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestvalidatedeventhandler/)

### RequestValidating

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

Occurs after the server checked the session and the user of a request and before it processes the request.

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

```csharp
public event OpcRequestValidatingEventHandler RequestValidating
```

</div>

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

```vbnet
Public Event RequestValidating As OpcRequestValidatingEventHandler
```

</div>

**Event type**

[OpcRequestValidatingEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestvalidatingeventhandler/)

**Remarks**

The [Request](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestvalidatingeventargs/members#request) is of the type of the service for the services on nodes and on their history, such as [OpcReadNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcreadnodesrequest/), so that its content can be inspected. The [Result](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestvalidatingeventargs/members#result) states the result of the checks of the server.

Setting [Cancel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestvalidatingeventargs/members#cancel) or a bad result rejects the request. The result set replaces the one of the server, so a good result also accepts a request the server would have rejected.

### SessionActivated

Occurs when a session of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) has been activated.

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

```csharp
public event OpcSessionEventHandler SessionActivated
```

</div>

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

```vbnet
Public Event SessionActivated As OpcSessionEventHandler
```

</div>

**Event type**

[OpcSessionEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsessioneventhandler/)

### SessionActivating

Occurs when a session of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) is about to be activated.

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

```csharp
public event EventHandler SessionActivating
```

</div>

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

```vbnet
Public Event SessionActivating As EventHandler
```

</div>

**Event type**

[EventHandler](https://learn.microsoft.com/dotnet/api/system.eventhandler)

### SessionActivationFailed

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

Occurs when the server rejects the activation of a session.

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

```csharp
public event OpcSessionActivationFailedEventHandler SessionActivationFailed
```

</div>

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

```vbnet
Public Event SessionActivationFailed As OpcSessionActivationFailedEventHandler
```

</div>

**Event type**

[OpcSessionActivationFailedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsessionactivationfailedeventhandler/)

**Remarks**

The event covers every rejection, among them an unknown user name, a rejected certificate and a user token signature that does not verify.

### SessionClosed

Occurs when a session of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) has been closed.

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

```csharp
public event EventHandler SessionClosed
```

</div>

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

```vbnet
Public Event SessionClosed As EventHandler
```

</div>

**Event type**

[EventHandler](https://learn.microsoft.com/dotnet/api/system.eventhandler)

### SessionClosing

Occurs when a session of the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/) is about to be closed.

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

```csharp
public event OpcSessionEventHandler SessionClosing
```

</div>

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

```vbnet
Public Event SessionClosing As OpcSessionEventHandler
```

</div>

**Event type**

[OpcSessionEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsessioneventhandler/)

### SessionCreated

Occurs when a new session has been created on the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
public event OpcSessionEventHandler SessionCreated
```

</div>

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

```vbnet
Public Event SessionCreated As OpcSessionEventHandler
```

</div>

**Event type**

[OpcSessionEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsessioneventhandler/)

### SessionCreating

Occurs when a new session is about to be created on the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/).

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

```csharp
public event EventHandler SessionCreating
```

</div>

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

```vbnet
Public Event SessionCreating As EventHandler
```

</div>

**Event type**

[EventHandler](https://learn.microsoft.com/dotnet/api/system.eventhandler)

### SubscriptionCreated

Occurs when a new subscription is created through a [OpcSession](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsession/).

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

```csharp
public event OpcSubscriptionEventHandler SubscriptionCreated
```

</div>

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

```vbnet
Public Event SubscriptionCreated As OpcSubscriptionEventHandler
```

</div>

**Event type**

[OpcSubscriptionEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsubscriptioneventhandler/)

### SubscriptionDeleted

Occurs when an existing subscription of a [OpcSession](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsession/) has been deleted.

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

```csharp
public event OpcSubscriptionEventHandler SubscriptionDeleted
```

</div>

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

```vbnet
Public Event SubscriptionDeleted As OpcSubscriptionEventHandler
```

</div>

**Event type**

[OpcSubscriptionEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsubscriptioneventhandler/)

### TypeResolve

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

Occurs before the resolution of a data type takes place. Use this event to manually provide the [Type](https://learn.microsoft.com/dotnet/api/system.type) to use for a specific data type definition identifier.

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

```csharp
public event OpcTypeResolveEventHandler TypeResolve
```

</div>

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

```vbnet
Public Event TypeResolve As OpcTypeResolveEventHandler
```

</div>

**Event type**

[OpcTypeResolveEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctyperesolveeventhandler/)
