1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Результаты поиска

  1. pdev
  2. pdev
  3. pdev
  4. pdev
  5. pdev
  6. pdev
  7. pdev
  8. pdev
  9. pdev
  10. pdev
  11. pdev
  12. pdev
  13. pdev
  14. pdev
  15. pdev
  16. pdev
    Сообщение

    [C#] EasyMysql

    Вроде бы взрослые люди... так тяжело залить в bitbucket в виде сорсов? Юзать DataTable - это срань в работе с крупными БД. Еще и обфусцировал)))) Господи, куда катится мир... DataTabel dt Как это вообще скомпилилось? Архитектура для подобного функционала нужна статическая для удобства вызова и возможности заюзать в многопотоковой среде. using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Threading; namespace AxEGAIS.Core { public class AxDb { public static List<Connection> ActivePool; private static void CheckPool() { if (ActivePool == null) ActivePool = new List<Connection>(); } public static bool IsExists(string name) { CheckPool(); lock (ActivePool) { try { return ActivePool.Any(t => t.Name == name); } catch { return false; } } } public static bool IsExists(Databases database) { CheckPool(); lock (ActivePool) { return ActivePool.AsParallel().Any(t => t.Database == database); } } public static Connection Find(string name) { CheckPool(); lock (ActivePool) { try { return ActivePool.FirstOrDefault(t => t.Name == name); } catch { return null; } } } public static Connection Find(Databases database) { CheckPool(); lock (ActivePool) { return ActivePool.AsParallel().FirstOrDefault(t => t.Database == database); } } public static Connection New(string name, Databases database, out SqlException sqlException) { sqlException = null; if (IsExists(name)) Close(name); SqlConnection sqlConn = null; switch (database) { case Databases.Axapta: sqlConn = new SqlConnection(new SqlConnectionStringBuilder { #if DEBUG DataSource = "Host", InitialCatalog = "dbname_test", #else DataSource = "Host", InitialCatalog = "dbname_prod", #endif IntegratedSecurity = true, ConnectTimeout = 3600, MinPoolSize = 20 }.ConnectionString); break; } if (sqlConn == null) return null; var conn = new Connection { Name = name, Database = database, SqlConnection = sqlConn }; lock (ActivePool) { ActivePool.Add(conn); return Find(name); } } public static void Close(string name) { if (!IsExists(name)) return; var conn = Find(name); if (conn == null) return; lock (conn.SqlConnection) { conn.SqlConnection?.Close(); try { ActivePool.RemoveAll(t => t.Name == name); } catch { } } } } public enum Databases { Axapta, } public class Connection { public string Name { get; set; } public Databases Database { get; set; } public SqlConnection SqlConnection { get; set; } } } Вызов этого дела из кода: SqlException sqlExeption; var conn = AxDb.New($"AxDb{Thread.CurrentThread.ManagedThreadId}", Databases.Axapta, out sqlExeption); using (var cmd = conn.SqlConnection.CreateCommand()) { if (conn.SqlConnection.State != ConnectionState.Open) conn.SqlConnection.Open(); cmd.CommandText = @"SELECT ExportPath, ImportPath, ExportFamily, ImportFamily, ImportPathArchive, ExportXmlTemplateRepository, LifetimeInMessages, LifetimeOutMessages, ThreadPoolSize, DebugInOpCodes, DebugOutOpCodes, ReleaseInOpCodes, ReleaseOutOpCodes, EGAISDataAreaId, EGAISRefDataAreaId, RepeatReprocessingInMessages, RepeatReprocessingOutMessages, ItemTypeConsumerPropertyId, ServiceHost, ServiceUpdateInterval FROM EGAISParameters"; using (var r = cmd.ExecuteReader()) { if (!r.Read()) return; ExportPath = r.GetString(0); ImportPath = r.GetString(1); ExportFamily = r.GetString(2); ImportFamily = r.GetString(3); ImportPathArchive = r.GetString(4); ExportXmlTemplateRepository = r.GetString(5); LifetimeInMessages = r.GetInt32(6); LifetimeOutMessages = r.GetInt32(7); ThreadPoolSize = r.GetInt32(8); DebugInOpCodes = r.GetString(9); DebugOutOpCodes = r.GetString(10); ReleaseInOpCodes = r.GetString(11); ReleaseOutOpCodes = r.GetString(12); DataAreaId = r.GetString(13).ToLower(); RefDataAreaId = r.GetString(14).ToLower(); RepeatReprocessingInMessages = r.GetInt32(15); RepeatReprocessingOutMessages = r.GetInt32(16); ItemTypeConsumerPropertyId = r.GetString(17); ServiceHost = r.GetString(18); ServiceUpdateInterval = r.GetInt32(19); } } QueryTemplateRepository = new EGAISQueryTemplateRepository(); PS: И что там может быть такого секретного, чтобы обфусцировать код =)
    Сообщение от: pdev, 28 фев 2016 в разделе: Soft (не относящийся к определенной игре)
  17. pdev
  18. pdev
  19. pdev
  20. pdev
    п.3: низкий отклик дают только TN-матрицы (1-2 мс), а такая матрица противоречит п.2 и п.4. Следом идёт MVA (3+ мс), затем IPS (стандартно от 5 мс). То есть компромиссным решением будет матрица MVA. PLS матрица находится между MVA и IPS, ближе к IPS. Цветопередача и яркость не уступает IPS. К тому же нет мерцания (вообще). К тому же отклик быстрее IPS. Видяха должна быть действительно мощная. Дома GTX 770 - хватает за глаза. На работе более дешевая версия - лагает даже на видео 4K, но для работы хватает за глаза. Нюанс лишь в том, что не каждая видяха поддерживает такое разрешение, требуется HDMI разъем или Display Port для 60Гц (пришлось на работе немного помародерствовать и забрать видяху с другого компа). На Windows работаю в масштабе 200%. Полет нормальный. Если приложение криво отображается - отключается масштабирование в свойствах и всё - проблем нет).
    Сообщение от: pdev, 20 фев 2016 в разделе: Оффтоп