public static void DumpError(string virtualServer, string errorText) { try { DataSet dataSet = new DataSet("dsEvents"); dataSet.Tables.Add("Events"); dataSet.Tables["Events"].Columns.Add("ID"); dataSet.Tables["Events"].Columns.Add("VirtualServer"); dataSet.Tables["Events"].Columns.Add("CreateDate", typeof(DateTime)); dataSet.Tables["Events"].Columns.Add("Type"); dataSet.Tables["Events"].Columns.Add("Text"); if (File.Exists(SCore.PathFix(Error.m_Path + "Settings\\Events.xml"))) { dataSet.ReadXml(SCore.PathFix(Error.m_Path + "Settings\\Events.xml")); } DataRow dataRow = dataSet.Tables["Events"].NewRow(); dataRow["ID"] = Guid.NewGuid().ToString(); dataRow["VirtualServer"] = virtualServer; dataRow["CreateDate"] = DateTime.Now; dataRow["Type"] = 0; dataRow["Text"] = errorText; dataSet.Tables["Events"].Rows.Add(dataRow); dataSet.WriteXml(SCore.PathFix(Error.m_Path + "Settings\\Events.xml")); } catch { } }
public static void WriteLog(string fileName, string text) { try { fileName = SCore.PathFix(fileName); if (!Directory.Exists(Path.GetDirectoryName(fileName))) { Directory.CreateDirectory(Path.GetDirectoryName(fileName)); } using (FileStream fileStream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write)) { StreamWriter streamWriter = new StreamWriter(fileStream); streamWriter.BaseStream.Seek(0L, SeekOrigin.End); streamWriter.Write(text + "\r\n"); streamWriter.Flush(); } } catch { } }
internal IMailServerManagementApi LoadApi(string assembly, string typeName, string initString) { string path; if (File.Exists(SCore.PathFix(this.m_StartupPath + "\\" + assembly))) { path = SCore.PathFix(this.m_StartupPath + "\\" + assembly); } else { path = SCore.PathFix(assembly); } Assembly assembly2 = Assembly.LoadFile(path); Type type = assembly2.ExportedTypes.FirstOrDefault((Type x) => x.FullName == typeName && typeof(IMailServerManagementApi).IsAssignableFrom(x)); if (type == null) { throw new Exception("cannot load type with name " + typeName); } return((IMailServerManagementApi)Activator.CreateInstance(type, new object[] { initString })); }