# OpcApplication Members

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

## Constructors

### OpcApplication

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

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

```csharp
protected OpcApplication()
```

</div>

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

```vbnet
Protected Sub New()
```

</div>

**Exceptions**

| Exception | Condition |
|---|---|
| [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception) |  |

## Properties

### Company

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

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

```csharp
public static string Company { get; }
```

</div>

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

```vbnet
Public Shared ReadOnly Property Company As String
```

</div>

**Property value**

[String](https://learn.microsoft.com/dotnet/api/system.string)

### Configuration

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

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

```csharp
public virtual OpcApplicationConfiguration Configuration { get; }
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public Overridable ReadOnly Property Configuration As OpcApplicationConfiguration
```

</div>

**Property value**

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

**Exceptions**

| Exception | Condition |
|---|---|
| [NotSupportedException](https://learn.microsoft.com/dotnet/api/system.notsupportedexception) |  |

**Implements**

[Configuration](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplication/members#configuration)

### Current

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

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

```csharp
public static OpcApplication Current { get; }
```

</div>

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

```vbnet
Public Shared ReadOnly Property Current As OpcApplication
```

</div>

**Property value**

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

### Name

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

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

```csharp
public static string Name { get; }
```

</div>

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

```vbnet
Public Shared ReadOnly Property Name As String
```

</div>

**Property value**

[String](https://learn.microsoft.com/dotnet/api/system.string)

### ProductCompany

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

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

```csharp
public virtual string ProductCompany { get; }
```

</div>

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

```vbnet
Public Overridable ReadOnly Property ProductCompany As String
```

</div>

**Property value**

[String](https://learn.microsoft.com/dotnet/api/system.string)

**Implements**

[ProductCompany](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplication/members#productcompany)

### ProductName

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

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

```csharp
public virtual string ProductName { get; }
```

</div>

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

```vbnet
Public Overridable ReadOnly Property ProductName As String
```

</div>

**Property value**

[String](https://learn.microsoft.com/dotnet/api/system.string)

**Implements**

[ProductName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplication/members#productname)

### ProductVersion

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

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

```csharp
public virtual Version ProductVersion { get; }
```

</div>

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

```vbnet
Public Overridable ReadOnly Property ProductVersion As Version
```

</div>

**Property value**

[Version](https://learn.microsoft.com/dotnet/api/system.version)

**Implements**

[ProductVersion](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplication/members#productversion)

### Version

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

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

```csharp
public static Version Version { get; }
```

</div>

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

```vbnet
Public Shared ReadOnly Property Version As Version
```

</div>

**Property value**

[Version](https://learn.microsoft.com/dotnet/api/system.version)

## Methods

### AfterRun

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

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

```csharp
protected virtual void AfterRun()
```

</div>

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

```vbnet
Protected Overridable Sub AfterRun()
```

</div>

### BeforeRun

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

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

```csharp
protected virtual void BeforeRun()
```

</div>

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

```vbnet
Protected Overridable Sub BeforeRun()
```

</div>

### Dispose

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

| Overload | Description |
|---|---|
| [Dispose()](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplication/members#dispose-noparams) | Releases all resources used by the [OpcApplication](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplication/). |
| [Dispose(bool)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplication/members#dispose-system-boolean)<span class="api-meta">protected · virtual</span> | Releases the unmanaged resources used by the [OpcApplication](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplication/) and optionally releases the managed resources. |

#### Dispose()

Releases all resources used by the [OpcApplication](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplication/).

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

```csharp
public void Dispose()
```

</div>

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

```vbnet
Public Sub Dispose()
```

</div>

**Implements**

[Dispose()](https://learn.microsoft.com/dotnet/api/system.idisposable.dispose)

#### Dispose(bool)

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

Releases the unmanaged resources used by the [OpcApplication](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplication/) and optionally releases the managed resources.

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

```csharp
protected virtual void Dispose(bool disposing)
```

</div>

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

```vbnet
Protected Overridable Sub Dispose(disposing As Boolean)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `disposing` | [Boolean](https://learn.microsoft.com/dotnet/api/system.boolean) | The value true to release both managed and unmanaged resources; otherwise the value false to release only unmanaged resources. |

### Exit

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

```csharp
public void Exit()
```

</div>

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

```vbnet
Public Sub [Exit]()
```

</div>

**Implements**

[Exit](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplication/members#exit)

### ExitCore

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

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

```csharp
protected virtual void ExitCore()
```

</div>

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

```vbnet
Protected Overridable Sub ExitCore()
```

</div>

### LoadConfiguration

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

| Overload | Description |
|---|---|
| [LoadConfiguration()](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplication/members#loadconfiguration-noparams) |  |
| [LoadConfiguration(string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplication/members#loadconfiguration-system-string) |  |

#### LoadConfiguration()

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

```csharp
public void LoadConfiguration()
```

</div>

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

```vbnet
Public Sub LoadConfiguration()
```

</div>

#### LoadConfiguration(string)

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

```csharp
public void LoadConfiguration(string configSectionName)
```

</div>

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

```vbnet
Public Sub LoadConfiguration(configSectionName As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `configSectionName` | [String](https://learn.microsoft.com/dotnet/api/system.string) |  |

### LoadConfigurationCore

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

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

```csharp
protected abstract void LoadConfigurationCore(string configSectionName)
```

</div>

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

```vbnet
Protected MustOverride Sub LoadConfigurationCore(configSectionName As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `configSectionName` | [String](https://learn.microsoft.com/dotnet/api/system.string) |  |

### OnExited

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

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

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

</div>

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

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

</div>

**Parameters**

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

### OnExiting

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

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

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

</div>

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

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

</div>

**Parameters**

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

### OnStarted

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

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

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

</div>

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

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

</div>

**Parameters**

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

### OnStarting

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

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

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

</div>

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

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

</div>

**Parameters**

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

### Run

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

```csharp
public void Run()
```

</div>

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

```vbnet
Public Sub Run()
```

</div>

**Exceptions**

| Exception | Condition |
|---|---|
| [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception) |  |

**Implements**

[Run](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplication/members#run)

### RunCore

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

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

```csharp
protected abstract int RunCore()
```

</div>

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

```vbnet
Protected MustOverride Function RunCore() As Integer
```

</div>

**Returns**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

## Events

### Exited

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

```csharp
public event EventHandler Exited
```

</div>

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

```vbnet
Public Event Exited As EventHandler
```

</div>

**Event type**

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

**Implements**

[Exited](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplication/members#exited)

### Exiting

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

```csharp
public event EventHandler Exiting
```

</div>

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

```vbnet
Public Event Exiting As EventHandler
```

</div>

**Event type**

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

**Implements**

[Exiting](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplication/members#exiting)

### Started

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

```csharp
public event EventHandler Started
```

</div>

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

```vbnet
Public Event Started As EventHandler
```

</div>

**Event type**

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

**Implements**

[Started](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplication/members#started)

### Starting

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

```csharp
public event EventHandler Starting
```

</div>

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

```vbnet
Public Event Starting As EventHandler
```

</div>

**Event type**

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

**Implements**

[Starting](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplication/members#starting)
