# IOpcApplicationInstance Interface

<dl class="api-definition">
<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>Members</dt>
<dd><a href="./members">IOpcApplicationInstance Members</a></dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

Defines a concrete application of one of the possible OPC UA application types available.

## Syntax

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

```csharp
public interface IOpcApplicationInstance
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public Interface IOpcApplicationInstance
```

</div>

## Derived types

- [OpcClient](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/)
- [OpcApplicationInstance&lt;TTransport, TSecurity&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplicationinstance-2/)
- [OpcDiscoveryServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcdiscoveryserver/)
- [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/)
- [OpcServerBase](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/)

## Properties

| Name | Description |
|---|---|
| [ApplicationName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#applicationname) | Gets or sets the name of the application instance. |
| [ApplicationState](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#applicationstate)<span class="api-meta">since v2.50</span> | Gets the current state of the application instance. |
| [ApplicationType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#applicationtype) | Gets the type of application the instance represents. |
| [ApplicationUri](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#applicationuri) | Gets or sets the URI of the application instance. |
| [Certificate](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#certificate) | Gets or sets the application certificate representing the applications identity. |
| [CertificateStores](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#certificatestores) | Gets the [OpcCertificateStores](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccertificatestores/) instance used to maintain the different certificate stores used by the application instance. |
| [Configuration](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#configuration) | Gets or sets an instance of the [OpcApplicationConfiguration](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplicationconfiguration/) class which is used as a low-level representation of the code/file based application instance configuration. |
| [Namespaces](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#namespaces)<span class="api-meta">since v2.12</span> | Gets a read-only collection of namespaces used by the application instance. |
| [ProductUri](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#producturi)<span class="api-meta">since v2.10</span> | Gets or sets the URI of the product. |
| [Security](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#security)<span class="api-meta">since v2.6</span> | Gets the [OpcSecurity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcsecurity/) instance used to maintain the different security options used by the application instance. |
| [SystemContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#systemcontext)<span class="api-meta">since v2.11</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 application instance. |
| [Transport](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#transport)<span class="api-meta">since v2.6</span> | Gets the [OpcTransport](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctransport/) instance used to maintain the different transport options used by the application instance. |

## Methods

| Name | Description |
|---|---|
| [QueryCertificate](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#querycertificate) | Requests the certificate to use for this application instance in case there the certificate could not automatically determined using the information of this application instance or there are any issues with the [Certificate](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#certificate). |

## Events

| Name | Description |
|---|---|
| [CertificateRequested](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#certificaterequested) | Occurs when the certificate of this application instance could not automatically determined using the information of this IOpcApplicationInstance. |
| [CertificateValidationFailed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#certificatevalidationfailed)<span class="api-meta">since v2.6</span> | Occurs when the validation of a opponent application instance certificate does not fulfill the requirements for valid and trusted certificates. |

## Applies to

| Package | Versions |
|---|---|
| Opc.UaFx.Advanced | v2.5–v2.59 |
