.NET Based OPC UA Client/Server SDK
3.1.3.516
|
Represents an instance of a UA application. More...
Inherited by UnifiedAutomation.UaBase.ApplicationInstance.
Public Member Functions | |
ApplicationInstanceBase () | |
Creates an instance of ApplicationInstanceBase. More... | |
ICertificateValidator | FindCertificateValidator (string endpointUrl) |
Finds the certificate validator for the specified endpoint. More... | |
void | UpdateCertificateValidator (string endpointUrl, ICertificateValidator validator) |
Updates the certificate validator associated with the endpoint. More... | |
void | ChangeCertificate (ICertificate oldCertificate, ICertificate newCertificate) |
Changes the certificate. More... | |
MessageContext | GetServerMessageContext () |
Create a new message context for the server. More... | |
StatusCode | GetEndpointStatus (EndpointDescription endpoint) |
Gets the endpoint status. More... | |
void | SetEndpointStatus (EndpointDescription endpoint, StatusCode status) |
Sets the endpoint status. More... | |
virtual void | SetApplicationSettings (UaSchema.IConfiguration settings) |
Sets the application settings. More... | |
T | GetConfigurationExtension< T > (bool silent, XmlQualifiedName elementName=null) |
Parses the extension. More... | |
void | SetConfigurationExtension< T > (T extension) |
Updates the extension. More... | |
virtual void | ValidateCertificate (ICertificate certificate) |
Verifies the certificate. More... | |
void | ValidateCertificate (ICertificate certificate, string applicationUri, string endpointUrl) |
Verifies the certificate. More... | |
virtual void | AddCertificateToTrustList (ICertificate certificate) |
Adds the certificate to trust list. More... | |
void | Start () |
Starts the application. More... | |
void | Start (WaitCallback callback, object userData) |
Starts the application. More... | |
virtual void | Start (ServerBase server, WaitCallback callback, object userData, bool silent=false) |
Starts the application. More... | |
virtual void | CreateCertificateGroups () |
Creates the certificate groups that appear in the ServerConfiguration object. More... | |
virtual void | LoadConfiguration (bool silent, bool isServer) |
Loads the configuration. More... | |
virtual void | SaveConfiguration (bool silent) |
Saves the configuration. More... | |
Protected Member Functions | |
virtual void | CreateDefaultProtocolFactory () |
Creates the default security provider. More... | |
virtual void | CreateDefaultSecurityProvider () |
Creates the default security provider. More... | |
void | CallApplicationSettingsLoaded () |
Calls the ApplicationSettingsLoaded Eventhandler if set. More... | |
virtual void | ChangesCompleted () |
virtual void | ApplicationInDemoMode (ApplicationLicense license) |
string | GetDefaultOrganisationName () |
Gets the default organisation name of the product. More... | |
virtual bool | CheckConfiguration (bool silent) |
Checks the configuration. More... | |
virtual void | CreateReverseConnect () |
Creates a new instance of the ReverseConnect manager More... | |
EndpointDescription | GetEndpointDescription (string endpointUrl, UaSchema.EndpointConfiguration configuration, string securityProfileUri, MessageSecurityMode securityMode, ApplicationDescription application) |
Gets the endpoint description. More... | |
void | ApplyTraceSettings () |
Applies the trace settings found in the ApplicationSettings. More... | |
bool | LoadConfigurationFromFile (string filePath, bool silent) |
Loads the configuration from file. More... | |
bool | LoadConfigurationFromResource (bool silent) |
Loads the configuration from embedded resource. More... | |
virtual void | LoadDefaultConfiguration (bool isServer) |
Creates the default application settings. More... | |
Properties | |
static ApplicationInstanceBase | Default [get] |
Gets the default ApplicationInstanceBase for the process. More... | |
string | ApplicationName [get, set] |
Gets or sets the name of the application. More... | |
string | ApplicationUri [get, set] |
Gets or sets the application URI. More... | |
ApplicationType | ApplicationType [get, set] |
Gets or sets the type of the application. More... | |
string | ProductUri [get, set] |
Gets or sets the product URI. More... | |
string | ProductVersion [get, set] |
Gets or sets the product version. More... | |
IProtocolFactory | ProtocolFactory [get, set] |
Get the object that provides access to protocols used by the application. More... | |
ISecurityProvider | SecurityProvider [get, set] |
Get the object that provides access to cryptography services used by the application. More... | |
ICertificate | ApplicationCertificate [get, set] |
Gets or sets the application certificate. More... | |
ICertificateStore | TrustedStore [get, set] |
Gets or sets the trusted store. More... | |
ICertificateStore | IssuerStore [get, set] |
Gets or sets the issuer store. More... | |
ICertificateStore | RejectedStore [get, set] |
Gets or sets the rejected store. More... | |
ICertificateValidator | CertificateValidator [get, set] |
Gets or sets the certificate validator. More... | |
EncodeableFactory | KnownTypeFactory [get, set] |
Gets or sets the known type factory. More... | |
EndpointConfiguration | DefaultEndpointConfiguration [get, set] |
Gets or sets the default endpoint configuration. More... | |
ApplicationThreadPool | ThreadPool [get, set] |
Gets or sets the thread pool used by the application. More... | |
IList< CertificateGroup > | CertificateGroups [get] |
Gets the certificate groups used to manage configuration of certificates and trust lists. More... | |
ReverseConnectManager | ReverseConnectManager [get] |
Gets the ReverseConnect manager for client applications More... | |
IList< EndpointDescription > | Endpoints [get, set] |
Gets or sets the endpoints. More... | |
bool | IsStarted [get, protected set] |
Gets a value indicating whether this instance is started. More... | |
bool | AutoCreateCertificate [get, set] |
Gets or sets a value indicating whether the certificate should be automatically created. More... | |
bool | SuppressErrorReporting [get, set] |
UaSchema.IConfiguration | ApplicationSettings [get, protected set] |
Gets the application settings. More... | |
string | ConfigurationFilePath [get, set] |
Gets or sets the configuration file path. More... | |
string | EmbeddedConfigurationAssemblyName [get, set] |
Gets or sets the name of the assembly which has the embedded resource containing the default configuration file. More... | |
bool | ConfigurationDirty [get, set] |
bool | ConfigurationLoaded [get, set] |
Events | |
CreateCertificateEventHandler | MissingApplicationCertificate |
Occurs when the application certificate is missing. More... | |
UntrustedCertificateEventHandler | UntrustedCertificate |
Occurs when an untrusted certificate is encountered. More... | |
EventHandler | ConfigurationChanged |
Occurs if the configuration has changed and needs to be persisted. More... | |
EventHandler | ApplicationSettingsLoaded |
Occurs after ApplicationSettings are loaded. Can be used to update ApplicationSettings in code. More... | |
Represents an instance of a UA application.
UnifiedAutomation.UaBase.ApplicationInstanceBase.ApplicationInstanceBase | ( | ) |
Creates an instance of ApplicationInstanceBase.
|
virtual |
Adds the certificate to trust list.
certificate | The certificate. |
|
protected |
Applies the trace settings found in the ApplicationSettings.
|
protected |
Calls the ApplicationSettingsLoaded Eventhandler if set.
void UnifiedAutomation.UaBase.ApplicationInstanceBase.ChangeCertificate | ( | ICertificate | oldCertificate, |
ICertificate | newCertificate | ||
) |
Changes the certificate.
oldCertificate | The old certificate. |
newCertificate | The new certificate. |
System.ArgumentNullException | newCertificate |
|
protectedvirtual |
Checks the configuration.
silent | if set to true then no exceptions will be thrown. |
|
virtual |
Creates the certificate groups that appear in the ServerConfiguration object.
|
protectedvirtual |
Creates the default security provider.
|
protectedvirtual |
Creates the default security provider.
By default an instance of DefaultSecurityProvider is created which cannot be used for the management of the own ApplicationInstace certificate. Subclasses may create another implementation of the ISecurityProvider interface.
Reimplemented in UnifiedAutomation.UaBase.ApplicationInstance.
|
protectedvirtual |
Creates a new instance of the ReverseConnect manager
ICertificateValidator UnifiedAutomation.UaBase.ApplicationInstanceBase.FindCertificateValidator | ( | string | endpointUrl | ) |
Finds the certificate validator for the specified endpoint.
endpointUrl | The endpoint URL. |
T UnifiedAutomation.UaBase.ApplicationInstanceBase.GetConfigurationExtension< T > | ( | bool | silent, |
XmlQualifiedName | elementName = null |
||
) |
Parses the extension.
T |
silent | if set to true then errors are suppressed. |
elementName | Name of the element. |
If the elementName is not null the type passed must support DataContract serialization or have the XmlRoot attribute defined.
T | : | class | |
T | : | new() |
|
protected |
Gets the default organisation name of the product.
|
protected |
Gets the endpoint description.
endpointUrl | The endpoint URL. |
configuration | The configuration for the endpoint. |
securityProfileUri | The security profile URI. |
securityMode | The security mode. |
application | The application. |
StatusCode UnifiedAutomation.UaBase.ApplicationInstanceBase.GetEndpointStatus | ( | EndpointDescription | endpoint | ) |
Gets the endpoint status.
endpoint | The endpoint. |
MessageContext UnifiedAutomation.UaBase.ApplicationInstanceBase.GetServerMessageContext | ( | ) |
Create a new message context for the server.
|
virtual |
Loads the configuration.
silent | if set to true then no exceptions will be thrown. |
isServer | if set to true the application is a server. |
Reimplemented in UnifiedAutomation.UaBase.ApplicationInstance.
|
protected |
Loads the configuration from file.
silent | if set to true then no exceptions will be thrown. |
filePath | if set to true path to configuration file. |
|
protected |
Loads the configuration from embedded resource.
silent | if set to true then no exceptions will be thrown. |
|
protectedvirtual |
Creates the default application settings.
isServer | if set to true the application is a server. |
|
virtual |
Saves the configuration.
silent | If set to true then no exceptions will be thrown. |
|
virtual |
Sets the application settings.
settings | The settings. |
This method cannot be called after Start() has been called.
void UnifiedAutomation.UaBase.ApplicationInstanceBase.SetConfigurationExtension< T > | ( | T | extension | ) |
Updates the extension.
T |
extension | The extension. |
T | : | class |
void UnifiedAutomation.UaBase.ApplicationInstanceBase.SetEndpointStatus | ( | EndpointDescription | endpoint, |
StatusCode | status | ||
) |
Sets the endpoint status.
endpoint | The endpoint. |
status | The status. |
void UnifiedAutomation.UaBase.ApplicationInstanceBase.Start | ( | ) |
Starts the application.
void UnifiedAutomation.UaBase.ApplicationInstanceBase.Start | ( | WaitCallback | callback, |
object | userData | ||
) |
Starts the application.
callback | The method to call when initialization is complete. |
userData | The user data to be passed to the callback. |
|
virtual |
Starts the application.
server | The server. |
callback | The method to call when initialization is complete. |
userData | The user data to be passed to the callback. |
silent | If true no exceptions are thrown. |
Reimplemented in UnifiedAutomation.UaBase.ApplicationInstance.
void UnifiedAutomation.UaBase.ApplicationInstanceBase.UpdateCertificateValidator | ( | string | endpointUrl, |
ICertificateValidator | validator | ||
) |
Updates the certificate validator associated with the endpoint.
endpointUrl | The endpoint URL. If null then the default validator is updated. |
validator | The validator. |
System.ArgumentNullException | validator |
System.ArgumentException | No validator has been configured for the specified endpoint.;endpointUrl |
|
virtual |
Verifies the certificate.
certificate | The certificate. |
This method uses the application configuration to determine the trust list. An exception is thrown if any error occurs.
void UnifiedAutomation.UaBase.ApplicationInstanceBase.ValidateCertificate | ( | ICertificate | certificate, |
string | applicationUri, | ||
string | endpointUrl | ||
) |
Verifies the certificate.
certificate | The certificate. |
applicationUri | If not null the certificate must contain this URI. |
endpointUrl | If not null the certificate hostnames must match this URL. |
This method uses the application configuration to determine the trust list. An exception is thrown if any error occurs.
|
getset |
Gets or sets the application certificate.
The application certificate.
|
getset |
Gets or sets the name of the application.
The name of the application.
|
getprotected set |
Gets the application settings.
Changing this object after Start() is called may have unpredicatable effects.
|
getset |
Gets or sets the type of the application.
The type of the application.
|
getset |
Gets or sets the application URI.
The application URI.
|
getset |
Gets or sets a value indicating whether the certificate should be automatically created.
true
if the certificate should be automatically created; otherwise, false
.
|
get |
Gets the certificate groups used to manage configuration of certificates and trust lists.
The certificate groups used to manage configuration of certificates and trust lists.
|
getset |
Gets or sets the certificate validator.
The certificate validator.
|
getset |
Gets or sets the configuration file path.
An XML file matching the schema http://opcfoundation.org/UA/2011/03/SecuredApplication.xsd.
You can get valid configuration files by removing the outer XML tags from the app.config files from the examples. So the configuration file starts with a SecuredApplication tag.
|
staticget |
Gets the default ApplicationInstanceBase for the process.
|
getset |
Gets or sets the default endpoint configuration.
The default endpoint configuration.
|
getset |
Gets or sets the name of the assembly which has the embedded resource containing the default configuration file.
The name of the assembly which has the embedded resource containing the default configuration file.
If not specified the EXE assembly is used.
|
getset |
Gets or sets the endpoints.
The endpoints.
|
getprotected set |
Gets a value indicating whether this instance is started.
true
if this instance is started; otherwise, false
.
|
getset |
Gets or sets the issuer store.
The issuer store.
|
getset |
Gets or sets the known type factory.
The known type factory.
|
getset |
Gets or sets the product URI.
The product URI.
|
getset |
Gets or sets the product version.
The product version.
|
getset |
Get the object that provides access to protocols used by the application.
|
getset |
Gets or sets the rejected store.
The rejected store.
|
get |
Gets the ReverseConnect manager for client applications
|
getset |
Get the object that provides access to cryptography services used by the application.
By default an instance of DefaultSecurityProvider is created which cannot be used for the management of the own ApplicationInstace certificate. Subclasses may create another implementation of the ISecurityProvider interface.
|
getset |
Gets or sets the thread pool used by the application.
If this value is set all Client Sessions or Server Instances created with this ApplicationInstanceBase will use this thread pool. If this value is left null then each Client Session or Server Instance will create its own ThreadPool. Note that operations using .NET framework asynchronous I/O capabilities will still use .NET framework ThreadPool even if this property is set. If this property is set the ThreadPool settings in the ApplicationConfiguration are ignored.
This is an example for creating the ThreadPool:
|
getset |
Gets or sets the trusted store.
The trusted store.
EventHandler UnifiedAutomation.UaBase.ApplicationInstanceBase.ApplicationSettingsLoaded |
Occurs after ApplicationSettings are loaded. Can be used to update ApplicationSettings in code.
EventHandler UnifiedAutomation.UaBase.ApplicationInstanceBase.ConfigurationChanged |
Occurs if the configuration has changed and needs to be persisted.
This event can be raised from a background thread and BeginInvoke may need to be called if being handled by a UI.
CreateCertificateEventHandler UnifiedAutomation.UaBase.ApplicationInstanceBase.MissingApplicationCertificate |
Occurs when the application certificate is missing.
This event is raised from the thread used to call Start.
UntrustedCertificateEventHandler UnifiedAutomation.UaBase.ApplicationInstanceBase.UntrustedCertificate |
Occurs when an untrusted certificate is encountered.
This event can be raised from a background thread and Invoke may need to be called if being handled by a UI. This event has return parameters so BeginInvoke cannot be used. Displaying a modal dialog in the callback will not work if the UI thread is blocked on a another operation. This problem can be avoided by using asynchronous method calls when available.