Description
Software versions
MySqlConnector version: 2.2.7
Server type (MySQL, MariaDB, Aurora, etc.) and version: 10.10.6-MariaDB-1:10.10.6+maria~ubu2204
.NET version:
The Exception: The collection already contains item with same key 'net.transport' still ocours, when I use DevExpress UI Framework with XPO-Persistent Objects in a windows service.
Exception
DevExpress.Xpo.DB.Exceptions.UnableToOpenDatabaseException
HResult=0x80131500
Nachricht = Unable to open database. Connection string: XXX;'; Error: 'System.InvalidOperationException: "The collection already contains item with same key 'net.transport''"
bei System.Diagnostics.ActivityTagsCollection.Add(String key, Object value)
bei MySqlConnector.Core.ServerSession.<OpenTcpSocketAsync>d__99.MoveNext() in /_/src/MySqlConnector/Core/ServerSession.cs:Zeile 1038.
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei MySqlConnector.Core.ServerSession.<ConnectAsync>d__83.MoveNext() in /_/src/MySqlConnector/Core/ServerSession.cs:Zeile 439.
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei MySqlConnector.Core.ConnectionPool.<ConnectSessionAsync>d__22.MoveNext() in /_/src/MySqlConnector/Core/ConnectionPool.cs:Zeile 410.
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei MySqlConnector.Core.ConnectionPool.<ConnectSessionAsync>d__22.MoveNext() in /_/src/MySqlConnector/Core/ConnectionPool.cs:Zeile 415.
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei MySqlConnector.Core.ConnectionPool.<GetSessionAsync>d__10.MoveNext() in /_/src/MySqlConnector/Core/ConnectionPool.cs:Zeile 105.
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei MySqlConnector.Core.ConnectionPool.<GetSessionAsync>d__10.MoveNext() in /_/src/MySqlConnector/Core/ConnectionPool.cs:Zeile 135.
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei MySqlConnector.MySqlConnection.<CreateSessionAsync>d__124.MoveNext() in /_/src/MySqlConnector/MySqlConnection.cs:Zeile 929.
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei MySqlConnector.MySqlConnection.<OpenAsync>d__26.MoveNext() in /_/src/MySqlConnector/MySqlConnection.cs:Zeile 423.
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei MySqlConnector.MySqlConnection.Open() in /_/src/MySqlConnector/MySqlConnection.cs:Zeile 382.
bei DevExpress.Xpo.DB.MySqlConnectionProvider.CreateDataBase()'
Quelle = DevExpress.Xpo.v23.1
Stapelüberwachung:
bei DevExpress.Xpo.DB.MySqlConnectionProvider.CreateDataBase()
bei DevExpress.Xpo.DB.ConnectionProviderSql..ctor(IDbConnection connection, AutoCreateOption autoCreateOption)
bei DevExpress.Xpo.DB.MySqlConnectionProvider..ctor(IDbConnection connection, AutoCreateOption autoCreateOption)
Diese Ausnahme wurde ursprünglich von dieser Aufrufliste ausgelöst:
[Externer Code]
Innere Ausnahme 1:
InvalidOperationException: "The collection already contains item with same key 'net.transport''"
Code sample
/* A concise code sample to reproduce the bug */
ServicePointManager.ServerCertificateValidationCallback += (message, cert, chain, errors) => { return true; };
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
MySqlConnectionProvider.Register();
MySqlConnection conn = new MySqlConnection(p_sConn);
MySqlConnectionProvider provider = new MySqlConnectionProvider(conn, AutoCreateOption.SchemaAlreadyExists);
session = new Session(new SimpleDataLayer(provider), null);
session.Connect();
Expected behavior
The same code works in a simple Windows-Forms-Application, but not in the Windows-Service-Environment in a thread.
Additional context
I am not able to produce the error in a simple example application.