public void CycleTest() { MethodFilterProxyTypeFactory proxyFactory = new MethodFilterProxyTypeFactory("Xphter.Framework.Reflection.Tests.Proxies"); IObjectFactory objectFactory = new XmlConfigurationObjectFactory(CONFIG_FILE_NAME, new Assembly[] { Assembly.GetExecutingAssembly(), }, proxyFactory); objectFactory.CreateInstance <ClassD5>(); }
public void DistributedFileLogStorageFactoryTest_WithSource() { File.WriteAllText(CONFIG_FILE_NAME, Xphter.Framework.Test.Properties.Resources.LogConfig.Replace("ref=\"\"", "ref=\"distributed\""), Encoding.UTF8); IObjectFactory objectFactory = new XmlConfigurationObjectFactory(CONFIG_FILE_NAME, new Assembly[] { Assembly.GetExecutingAssembly(), }, null); using (ILogger logger = objectFactory.CreateInstance <ILogger>()) { logger.Record(new LogInfo { OperationSource = "来源0", LogType = LogInfoType.Info, StateObject = "信息", }); logger.RecordAsync(new LogInfo { OperationSource = "来源1", LogType = LogInfoType.Warning, StateObject = "警告0", }); logger.RecordAsync(new LogInfo { OperationSource = "来源2", LogType = LogInfoType.Error, StateObject = "错误0", }); int count = 1000000; Task t1 = Task.Factory.StartNew(() => { for (int i = 0; i < count; i++) { logger.RecordAsync(new LogInfo { OperationSource = "来源1", LogType = LogInfoType.Warning, StateObject = "警告" + (i + 1), }); } }); Task t2 = Task.Factory.StartNew(() => { for (int i = 0; i < count; i++) { logger.RecordAsync(new LogInfo { OperationSource = "来源2", LogType = LogInfoType.Error, StateObject = "错误" + (i + 1), }); } }); Task.WaitAll(t1, t2); Thread.Sleep(20000); } }
public void SuccessTest_NoProxyFactory() { IObjectFactory objectFactory = new XmlConfigurationObjectFactory(CONFIG_FILE_NAME, new Assembly[] { Assembly.GetExecutingAssembly(), }, null); IClassA obj1 = objectFactory.CreateInstance <IClassA>(); string name1 = obj1.Test(13); IClassA obj2 = objectFactory.CreateInstance <IClassA>(); string name2 = obj1.Test(18); }
public void AllTest() { IObjectFactory objectFactory = new XmlConfigurationObjectFactory(CONFIG_FILE_NAME, new Assembly[] { Assembly.GetExecutingAssembly(), }, null); using (TextWriter writer = new StreamWriter("error.txt", false, Encoding.UTF8)) { using (ILogger logger = objectFactory.CreateInstance <ILogger>()) { logger.Error += (ex) => writer.WriteLine(ex.Message); logger.Record(new LogInfo { LogType = LogInfoType.Info, StateObject = "信息", }); logger.Record(new LogInfo { LogType = LogInfoType.Warning, StateObject = "警告", }); logger.Record(new LogInfo { LogType = LogInfoType.Error, StateObject = "错误", ExceptionObject = new NotImplementedException("未实现"), }); logger.Record(new LogInfo { LogType = LogInfoType.Error, LogLevel = 2, StateObject = "错误", ExceptionObject = new NotImplementedException("未实现"), }); int count = 10000; for (int i = 0; i < count; i++) { logger.RecordAsync(new LogInfo { LogType = LogInfoType.Warning, StateObject = "警告" + (i + 1), }); } Thread.Sleep(70000); } } }
public void CentralizedFileLogStorageFactoryTest() { File.WriteAllText(CONFIG_FILE_NAME, Xphter.Framework.Test.Properties.Resources.LogConfig.Replace("ref=\"\"", "ref=\"centralized\""), Encoding.UTF8); IObjectFactory objectFactory = new XmlConfigurationObjectFactory(CONFIG_FILE_NAME, new Assembly[] { Assembly.GetExecutingAssembly(), }, null); using (ILogger logger = objectFactory.CreateInstance <ILogger>()) { logger.Record(new LogInfo { LogType = LogInfoType.Info, StateObject = "信息", }); logger.Record(new LogInfo { LogType = LogInfoType.Warning, StateObject = "警告", }); logger.Record(new LogInfo { LogType = LogInfoType.Error, StateObject = "错误", ExceptionObject = new NotImplementedException("未实现"), }); logger.Record(new LogInfo { LogType = LogInfoType.Error, LogLevel = 2, StateObject = "错误", ExceptionObject = new NotImplementedException("未实现"), }); int count = 1000000; for (int i = 0; i < count; i++) { logger.RecordAsync(new LogInfo { LogType = LogInfoType.Error, StateObject = "错误" + (i + 1), }); } Thread.Sleep(20000); } }
public void AllTest() { IObjectFactory objectFactory = new XmlConfigurationObjectFactory(CONFIG_FILE_NAME, new Assembly[] { Assembly.GetExecutingAssembly(), }, null); using (ILogger logger = objectFactory.CreateInstance <ILogger>()) { logger.Record(new LogInfo { LogType = LogInfoType.Info, StateObject = "信息", }); logger.Record(new LogInfo { LogType = LogInfoType.Warning, StateObject = "警告", }); logger.Record(new LogInfo { LogType = LogInfoType.Error, StateObject = "错误", ExceptionObject = new NotImplementedException("未实现"), }); logger.Record(new LogInfo { LogType = LogInfoType.Error, LogLevel = 2, StateObject = "错误", ExceptionObject = new NotImplementedException("未实现"), }); int count = 1000000; for (int i = 0; i < count; i++) { logger.RecordAsync(new LogInfo { LogType = LogInfoType.Warning, StateObject = "警告" + (i + 1), }); } Thread.Sleep(20000); } }
public void SuccessTest_WithProxyFactory() { MethodFilterProxyTypeFactory proxyFactory = new MethodFilterProxyTypeFactory("Xphter.Framework.Reflection.Tests.Proxies"); IObjectFactory objectFactory = new XmlConfigurationObjectFactory(CONFIG_FILE_NAME, new Assembly[] { Assembly.GetExecutingAssembly(), }, proxyFactory); try { IClassA obj1 = objectFactory.CreateInstance <IClassA>(); string name1 = obj1.Test(13); IClassA obj2 = objectFactory.CreateInstance <IClassA>(); string name2 = obj1.Test(18); } finally { #if DEBUG proxyFactory.SaveAssembly(null); #endif } }
public void DistributedFileLogStorageFactoryTest_NoSource() { File.WriteAllText(CONFIG_FILE_NAME, Xphter.Framework.Test.Properties.Resources.LogConfig.Replace("ref=\"\"", "ref=\"distributed\""), Encoding.UTF8); IObjectFactory objectFactory = new XmlConfigurationObjectFactory(CONFIG_FILE_NAME, new Assembly[] { Assembly.GetExecutingAssembly(), }, null); using (ILogger logger = objectFactory.CreateInstance <ILogger>()) { logger.Record(new LogInfo { LogType = LogInfoType.Info, StateObject = "信息", }); logger.Record(new LogInfo { LogType = LogInfoType.Warning, StateObject = "警告", }); logger.Record(new LogInfo { LogType = LogInfoType.Warning, StateObject = "警告", }); logger.Record(new LogInfo { LogType = LogInfoType.Error, StateObject = "错误", ExceptionObject = new NotImplementedException("未实现"), }); logger.Record(new LogInfo { LogType = LogInfoType.Error, StateObject = "错误", ExceptionObject = new NotImplementedException("未实现"), }); } }