Connection string validation
Closed this issue · 1 comments
JeremyCrookshank commented
It needs validation to ensure the connection string passed in is valid, it still output that it was installing the sql script even though it couldn't connect and didn't throw any exceptions.
Excellent repo btw
ascott18 commented
Thanks for the report. An error is now logged when initialization fails.
04:14:26 fail: IntelliTect.AspNetCore.SignalR.SqlServer.SqlServerHubLifetimeManager[0]
Unable to install SignalR SQL objects
System.ArgumentException: Keyword not supported: 'asdf'.
at Microsoft.Data.Common.DbConnectionOptions.ParseInternal(Dictionary`2 parsetable, String connectionString, Boolean buildChain, Dictionary`2 synonyms, Boolean firstKey)
at Microsoft.Data.Common.DbConnectionOptions..ctor(String connectionString, Dictionary`2 synonyms)
at Microsoft.Data.SqlClient.SqlConnectionString..ctor(String connectionString)
at Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous)
at Microsoft.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions)
at Microsoft.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key)
at Microsoft.Data.SqlClient.SqlConnection.set_ConnectionString(String value)
at Microsoft.Data.SqlClient.SqlConnection..ctor(String connectionString)
at IntelliTect.AspNetCore.SignalR.SqlServer.Internal.SqlInstaller.Install() in C:\src\IntelliTect.AspNetCore.SignalR.SqlServer\src\IntelliTect.AspNetCore.SignalR.SqlServer\Internal\SqlServer\SqlInstaller.cs:line 33
Interestingly, the Redis provider also fails silently when it cannot connect. I had assumed the lack of handling around that meant that such failures would be logged by the SignalR infrastructure, but I was wrong to assume and not verify.