Now the project gets a refactoring. So we upgraded to .Net9.
First step was only upgrading .Net. Later we also upgraded SDK to 4.0.0 and also tried with .Net8.
code snippet of Start():
Code: Select all
ProcessMasterServerManager processMasterServerManager = (ProcessMasterServerManager)ApplicationHost.Services.GetRequiredService<IEquipmentServer>();
processMasterServerManager.ServerStarted += ProcessMasterServerManager_ServerStarted;
processMasterServerManager.ServerStopped += ProcessMasterServerManager_ServerStopped;
processMasterServerManager.UntrustedUserCertificate += ProcessMasterServerManager_UntrustedUserCertificate;
ApplicationInstance.Default.SetApplicationSettings(configureOpcUaApplicationFromCode(((OpcBaseAddress)Arguments.GetArgumentByType<OpcBaseAddress>()).BaseAddress));
ApplicationInstance.Default.AutoCreateCertificate = true;
ApplicationInstance.Default.Start(processMasterServerManager, null, processMasterServerManager);
after ApplicationInstance.Default.Start(processMasterServerManager, null, processMasterServerManager); is called, execution takes more then 2 minutes till ServerStarted is called. Server is also not seen in UAExpert Discovery.
Sometimes it tooks much longer than 10 minutes. Only few times it took some seconds ~ 5 sec.
Here we have a log:
Timestamp|ThreadId|ModuleId|TraceLevel|Message|Exception
...
13:55.54|0021|00|0|License: ***VALID*** UaSdkNetBundle-4.0.0-Win32-Binary - ClientSDK enabled - ServerSDK enabled
13:55.59|0021|01|5|=> ApplicationInstanceBase.Start
13:55.59|0021|01|7|=> Calling ProcessCommand
...
13:55.59|0021|01|7|=> Application.GetApplicationCertificate
13:55.59|0021|01|7|=> Application.TryGetCertificate
13:55.59|0021|01|4|Start load certificate from store: %CommonApplicationData%\WitzenmannGmbH\ProcessMasterServer\pki\own
13:55.59|0021|01|4|Load Certificate by SubjectName: CN=ProcessMasterServer/O=WitzenmannGmbH/DC=0.0.0.0 from Store:
...
13:55.59|0021|01|4|End load certificate from store
13:55.59|0021|01|5|=> Application.CreateCertificate
...
13:55.59|0021|01|7|=> Application.InitializeServerEndpoints
13:55.59|0021|01|4|Using IP Address from key value pair IP-Adresse=127.0.0.1
13:55.59|0021|01|4|Added Endpoint (None): opc.tcp://127.0.0.1:4841/ [None:None:Binary]
13:55.59|0021|01|7|<= Application.InitializeServerEndpoints.
13:55.59|0021|02|5|=> ServerManager.Start
13:55.59|0021|01|5|=> ServerBase.Start
13:55.59|0021|02|7|=> ServerManager.OnServerStarting
...
13:56.00|0021|02|8|=> BaseNodeManager.ReadInMemoryNode([NodeAttributeHandle] i=2294
13:56.00|0021|02|8|<= BaseNodeManager.ReadInMemoryNode([NodeAttributeHandle] i=2294
13:56.00|0021|02|7|<= ServerManager.OnServerStarting
13:56.00|0021|01|8|Binding NetworkInterface socket to: 127.0.0.1
13:56.04|0057|04|7|=> DoSessionCleanup()
13:56.04|0057|04|7|<= DoSessionCleanup()
13:56.06|0059|04|7|=> DoSessionCleanup()
13:56.06|0059|04|7|<= DoSessionCleanup()
13:56.08|0061|04|7|=> DoSessionCleanup()
13:56.08|0061|04|7|<= DoSessionCleanup()
13:56.10|0063|04|7|=> DoSessionCleanup()
13:56.10|0063|04|7|<= DoSessionCleanup()
13:56.12|0065|04|7|=> DoSessionCleanup()
... more DoSessionCleanup() till it is started
13:58.10|0021|01|4|No configured reverse connections for opc.tcp://127.0.0.1:4841/ found
13:58.10|0021|01|5|<= ServerBase.Start
Has anybody an idea how to fix that, without going back to .Net6?
Application is WPF
We're using dependency injection out of Microsoft.Extensions.