OPC Studio User's Guide and Reference
UALocalApplicationDiscoveryQuery Class
Members 



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.Discovery Namespace : UALocalApplicationDiscoveryQuery Class
An OPC UA discovery query for applications on the specified discovery host or discovery endpoints.
Object Model
UALocalApplicationDiscoveryQuery ClassStringCollection Class
Syntax
'Declaration
 
<CLSCompliantAttribute(True)>
<ComDefaultInterfaceAttribute(OpcLabs.EasyOpc.UA.Discovery.ComTypes._UALocalApplicationDiscoveryQuery)>
<ComVisibleAttribute(True)>
<GuidAttribute("54CC01A8-15CD-4BEA-8FD9-F7D950EC7A43")>
<TypeConverterAttribute(System.ComponentModel.ExpandableObjectConverter)>
<ValueControlAttribute("OpcLabs.BaseLib.Forms.Common.ObjectSerializationControl, OpcLabs.BaseLibForms, Version=5.80.82.1, Culture=neutral, PublicKeyToken=6faddca41dacb409", 
   DefaultReadWrite=False, 
   Export=True, 
   PageId=10001)>
<SerializableAttribute()>
Public NotInheritable Class UALocalApplicationDiscoveryQuery 
   Inherits UALdsDiscoveryQuery
   Implements LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._Object2, OpcLabs.EasyOpc.UA.Discovery.ComTypes._UAApplicationDiscoveryQuery, OpcLabs.EasyOpc.UA.Discovery.ComTypes._UALdsDiscoveryQuery, OpcLabs.EasyOpc.UA.Discovery.ComTypes._UALocalApplicationDiscoveryQuery, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable 
'Usage
 
Dim instance As UALocalApplicationDiscoveryQuery
[CLSCompliant(true)]
[ComDefaultInterface(OpcLabs.EasyOpc.UA.Discovery.ComTypes._UALocalApplicationDiscoveryQuery)]
[ComVisible(true)]
[Guid("54CC01A8-15CD-4BEA-8FD9-F7D950EC7A43")]
[TypeConverter(System.ComponentModel.ExpandableObjectConverter)]
[ValueControl("OpcLabs.BaseLib.Forms.Common.ObjectSerializationControl, OpcLabs.BaseLibForms, Version=5.80.82.1, Culture=neutral, PublicKeyToken=6faddca41dacb409", 
   DefaultReadWrite=false, 
   Export=true, 
   PageId=10001)]
[Serializable()]
public sealed class UALocalApplicationDiscoveryQuery : UALdsDiscoveryQuery, LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._Object2, OpcLabs.EasyOpc.UA.Discovery.ComTypes._UAApplicationDiscoveryQuery, OpcLabs.EasyOpc.UA.Discovery.ComTypes._UALdsDiscoveryQuery, OpcLabs.EasyOpc.UA.Discovery.ComTypes._UALocalApplicationDiscoveryQuery, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable  
[CLSCompliant(true)]
[ComDefaultInterface(OpcLabs.EasyOpc.UA.Discovery.ComTypes._UALocalApplicationDiscoveryQuery)]
[ComVisible(true)]
[Guid("54CC01A8-15CD-4BEA-8FD9-F7D950EC7A43")]
[TypeConverter(System.ComponentModel.ExpandableObjectConverter)]
[ValueControl("OpcLabs.BaseLib.Forms.Common.ObjectSerializationControl, OpcLabs.BaseLibForms, Version=5.80.82.1, Culture=neutral, PublicKeyToken=6faddca41dacb409", 
   DefaultReadWrite=false, 
   Export=true, 
   PageId=10001)]
[Serializable()]
public ref class UALocalApplicationDiscoveryQuery sealed : public UALdsDiscoveryQuery, LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._Object2, OpcLabs.EasyOpc.UA.Discovery.ComTypes._UAApplicationDiscoveryQuery, OpcLabs.EasyOpc.UA.Discovery.ComTypes._UALdsDiscoveryQuery, OpcLabs.EasyOpc.UA.Discovery.ComTypes._UALocalApplicationDiscoveryQuery, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable  
Remarks

The query is performed using a FindServers service on the specified discovery URIs.

See also in Knowledge Base: Technical note-OPC UA Discovery in QuickOPC.

 

The various kinds of OPC UA discovery can be generalized into just one method, Discover. This method is given a discovery query argument (of UADiscoveryQuery type) that tells it the requirements for the discovery. The specific kinds of OPC UA discovery described earlier are, in fact, implemented by constructing the discovery query appropriately, and then calling the Discover method.

The UADiscoveryQuery type is an abstract class which is at the root of a structured class hierarchy, with several concrete subclasses:

This generalized discovery mechanism allows for flexibility both on the component and developer sides, and possible future expansion with other kinds of discovery, without a need to introduce new methods into the IEasyUAClient interface.

 

Inheritance Hierarchy

System.Object
   OpcLabs.BaseLib.Object2
      OpcLabs.BaseLib.Info
         OpcLabs.EasyOpc.UA.Discovery.UADiscoveryQuery
            OpcLabs.EasyOpc.UA.Discovery.UAApplicationDiscoveryQuery
               OpcLabs.EasyOpc.UA.Discovery.UALdsDiscoveryQuery
                  OpcLabs.EasyOpc.UA.Discovery.UALocalApplicationDiscoveryQuery

Requirements

Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2016, Windows Server 2022; .NET: Linux, macOS, Microsoft Windows

See Also