![](dotnetdiagramimages/OpcLabs_EasyOpcUA_OpcLabs_EasyOpc_UA_Discovery_UANetworkServerDiscoveryQuery.png)
'Declaration
<CLSCompliantAttribute(True)> <ComDefaultInterfaceAttribute(OpcLabs.EasyOpc.UA.Discovery.ComTypes._UANetworkServerDiscoveryQuery)> <ComVisibleAttribute(True)> <GuidAttribute("5F63AD5A-6C88-4B97-93CC-A4E630C9FB9A")> <TypeConverterAttribute(System.ComponentModel.ExpandableObjectConverter)> <ValueControlAttribute("OpcLabs.BaseLib.Forms.Common.ObjectSerializationControl, OpcLabs.BaseLibForms, Version=5.81.455.1, Culture=neutral, PublicKeyToken=6faddca41dacb409", DefaultReadWrite=False, Export=True, PageId=10001)> <SerializableAttribute()> Public NotInheritable Class UANetworkServerDiscoveryQuery 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._UANetworkServerDiscoveryQuery, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
'Usage
Dim instance As UANetworkServerDiscoveryQuery
[CLSCompliant(true)] [ComDefaultInterface(OpcLabs.EasyOpc.UA.Discovery.ComTypes._UANetworkServerDiscoveryQuery)] [ComVisible(true)] [Guid("5F63AD5A-6C88-4B97-93CC-A4E630C9FB9A")] [TypeConverter(System.ComponentModel.ExpandableObjectConverter)] [ValueControl("OpcLabs.BaseLib.Forms.Common.ObjectSerializationControl, OpcLabs.BaseLibForms, Version=5.81.455.1, Culture=neutral, PublicKeyToken=6faddca41dacb409", DefaultReadWrite=false, Export=true, PageId=10001)] [Serializable()] public sealed class UANetworkServerDiscoveryQuery : 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._UANetworkServerDiscoveryQuery, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
[CLSCompliant(true)] [ComDefaultInterface(OpcLabs.EasyOpc.UA.Discovery.ComTypes._UANetworkServerDiscoveryQuery)] [ComVisible(true)] [Guid("5F63AD5A-6C88-4B97-93CC-A4E630C9FB9A")] [TypeConverter(System.ComponentModel.ExpandableObjectConverter)] [ValueControl("OpcLabs.BaseLib.Forms.Common.ObjectSerializationControl, OpcLabs.BaseLibForms, Version=5.81.455.1, Culture=neutral, PublicKeyToken=6faddca41dacb409", DefaultReadWrite=false, Export=true, PageId=10001)] [Serializable()] public ref class UANetworkServerDiscoveryQuery 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._UANetworkServerDiscoveryQuery, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
The query is performed using a FindServersOnNetwork service of an OPC UA Local Discovery Server (LDS) residing on the specified host.
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.
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.UANetworkServerDiscoveryQuery