Professional OPC
Development Tools

logos

GUI popups when using QuickOPC

More
06 Jan 2018 17:35 #5815 by chrisstankevitz
Wow what an amazing answer, thank you. You guys did a great job on the software. You are correct, there was no GUI popup for trial period expiring -- there was a message on the console (probably via the exception mechanism -- I wasn't paying close attention).

Chris

Please Log in or Create an account to join the conversation.

More
05 Jan 2018 10:59 #5812 by support
QuickOPC components may, under certain circumstances, display a user interface "by itself", without you having to make a specific method call. Such unsolicited user interaction only happens when the current process is running in user interactive mode, as reported by the Environment.UserInteractive Property. In non-interactive mode, the components assume user responses which are, by default, secure. In addition, you can turn off specific user interactions by setting corresponding parameters in the code.

Usually, these are notifications or confirmations related to conditions that cannot be anticipated upfront, such as the certificate exchange in the OPC UA connection process. As QuickOPC controls the connections and diconnections automatically, and when subscriptions are in effect, also makes re-connections, you - as a developer - cannot generally predict when such user interaction may be needed.

There are following situations that may trigger an unsolicited user interaction related to OPC Unified Architecture (OPC UA) operations:

•Issues while checking or creating an application instance certificate. These are rare, and usually only happen when the application runs for the first time. These can be turned off or on by the AllowClientCertificatePrompt Property of of EngineParameters Property of EasyUAClient.SharedParameters Property. See also Providing Client Instance Certificate.

•When HTTPS communication is used, failed validation of server's HTTPS certificate. The user is prompted whether he/she wants to accept the certificate anyway. This prompt can be turned off or on by the AllowUserAcceptCertificate Property of HttpsCertificateAcceptancePolicy Property of EngineParameters Property of EasyUAClient.SharedParameters Property. See also Trusting Server HTTPS Certificate.

•Failed validation of OPC UA server's instance certificate. The user is prompted whether he/she wants to accept the certificate anyway. This prompt can be turned off or on by the AllowUserAcceptCertificate Property of CertificateAcceptancePolicy Property of EngineParameters Property of EasyUAClient.SharedParameters Property. Alternatively, the certificate acceptance policy can be overriden for a specific endpoint by setting it to a non-null value in CertificateAcceptancePolicy Property. See also Trusting Server Instance Certificate.

•The effective host name in endpoint URL returned by the server does not match any of the domain names in the server certificate. This may be an indication of a spoofing attempt. The user is prompted whether he/she wants to allow the endpoint anyway. This prompt can be turned off or on by the AllowEndpointDomainPrompt Property of UAClientSessionParameters Class.

There is no unsolicited user interaction related to OPC Classic operations.

All unsolicited user interaction (with exception of rare messages and confirmations related to client application instance certificate checks) has a timeout associated with it, and a default user response is assumed should the user not respond in time. This means that the current activity cannot be blocked indefinitely if the user fails to respond. In fact, this behavior also guarantees that the activity will eventually proceed even if the Environment.UserInteractive Property incorrectly claimed that the process is running in user interactive mode. The timeout in configurable by the AcceptNotificationTimeout Property in the UAUserInteractionParameters Class. In order to obtain or modify this parameter, access the UserInteractionParameters Property of EngineParameters Property of EasyUAClient.SharedParameters Property.

QuickOPC components do not display, by itself, any visual warning when there is a problem with the license key, or when the trial license runtime expires. Instead, such problems are reported as other errors, using the channels for the programming model used. For example, in Procedural Coding Model, the single-argument method throws an exception, a multiple-argument method returns the error in the Exception Property of the OperationResult Class, or with subscriptions, the error is reported in the Exception Property of the OperationEventArgs Class. It is up to the calling code to handle such situations.
The following user(s) said Thank You: chrisstankevitz

Please Log in or Create an account to join the conversation.

More
04 Jan 2018 22:08 #5809 by chrisstankevitz
Hi,

I built an example c# .NET console application by referencing these dependencies:
OPC Labs Base Library Core
OPC Labs EasyOPC-UA Library

When I established a connection to a server, QuickOPC "popped up" a GUI window asking the user to confirm the identity of the server certificate. Later QuickOPC "popped up" a GUI window explaining to the user that the trial period has elapsed.

While I can understand QuickOPC's desire to notify the user of various important issues, I am concerned about the dependency on a GUI despite my attempt to write a console application.
  1. Under what circumstances will the QuickOPC "Base Library Core" and "EasyOPC-UA Library" present GUI dialogs to the user?
  2. Is there a way to instruct the library to never display GUI dialogs?
  3. If not, what are the implications of GUI dialogs appearing within processes that are not being monitored by human operators (e.g. when a Windows Service is using QuickOPC)?

Thank you,

Chris

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.177 seconds

      

 Recommend this on Google