I have a Log class which put logs in Windows journal and in a SQL table. In order to optimize my code, I would like use only one SqlConnection.
In MSDN, it says: Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
My question is :
private static readonly SqlConnection conn = new SqlConnection(ConfigParameters.Instance.UIDConnection);
Is it thread-safe ? If yes, when use Open() and Close()?
If no, how use properly SqlConnection?
Here is my full class code :
private static readonly SqlConnection conn = new SqlConnection(ConfigParameters.Instance.UIDConnection);
public static long WriteLog(string sSource, string sMessage, int iErrorCode, EventLogEntryType xErrorType)
{
// Windows Logs
if (ConfigParameters.Instance.WindowsLog)
EventLog.WriteEntry(sSource, sMessage, xErrorType, iErrorCode);
// SQL Logs
// TODO
return 0;
}