public void Serialized_Caching(Type serializerType) { var serializer = (ISerializer)ActivatorTool.CreateInstance(serializerType); var repository = new SharedCacheRepository(serializer); var tasks = new List <TaskCacheItem>(); var cachedTasks = new List <TaskCacheItem>(); for (var i = 0; i < 10; i++) { var task = new TaskCacheItem() { IsDone = false, Summary = "Task " + i + " to cached.", Data = ArrayTool.GetRandomBytes(0x2000) }; tasks.Add(task); repository.Set(task.Id.ToString(), task); } foreach (var task in tasks) { var cachedTask = repository.Get(task.Id.ToString()) as TaskCacheItem; cachedTask.Should().Not.Be.Null(); cachedTasks.Add(cachedTask); } }
public void Can_Add_Multiple_And_Clear() { Cache.Clear(); taskIdStrs.Clear(); const int TaskCount = 1000; for (int i = 0; i < TaskCount; i++) { var task = new TaskCacheItem() { IsDone = false, Summary = "Task " + i + " to cached.", Data = ArrayTool.GetRandomBytes(0x2000) }; Cache.Add(task.Id.ToString(), task); taskIdStrs.Add(task.Id.ToString()); } Assert.AreEqual(TaskCount, Cache.GetAllKeys().Count); foreach (var taskId in taskIdStrs) { Assert.IsNotNull(Cache.Get(taskId), "캐시에 해당 키의 정보가 없습니다. taskId=" + taskId); } }
public void Can_Add_And_Load_Task() { Cache.Clear(); var task = new TaskCacheItem { IsDone = false, Summary = @"Task to cached.", Data = ArrayTool.GetRandomBytes(0x2000) }; var taskId = task.Id.ToString(); Cache.Add(taskId, task); taskIdStrs.Add(taskId); var tasks = Cache.GetAllKeys().Select(key => Cache.Get <TaskCacheItem>(key)).ToList(); Assert.IsTrue(tasks.Any(t => t.IsDone == false)); var retrieved = Cache.Get <TaskCacheItem>(taskId); Assert.IsNotNull(retrieved); Assert.AreEqual(taskId, retrieved.Id.ToString()); Cache.Clear(); if (Cache.GetAllKeys().Contains(taskId)) { retrieved = Cache.Get(taskId) as TaskCacheItem; Assert.IsNull(retrieved); } }
protected void Page_Load(object sender, EventArgs e) { if (IsPostBack == false) { ViewState["CurrentTime"] = DateTime.Now; // 엄청 큰 데이타를 Client로 내려보내지 않고 서버에서 관리합니다. // ViewState["LargeData"] = ArrayTool.GetRandomBytes(1024 * 128); ViewState["LargeStr"] = StringTool.Replicate("동해물과 백두산이 마르고 닳도록", 100); } }
public void MassiveInsert(int taskCount) { for (var i = 0; i < taskCount; i++) { var item = new TaskCacheItem { IsDone = false, Summary = "Task " + i + " to cached.", Data = ArrayTool.GetRandomBytes(DataSize) }; Cache.Add(item.Id.ToString(), item, DateTime.Now.AddSeconds(5)); } var stats = IndexusDistributionCache.SharedCache.GetStats(); }
protected static Parent CreateParentObject(string name, int age, params Child[] children) { var parent = new Parent { Name = name, Age = age, Description = ArrayTool.GetRandomBytes(1024).BytesToHex() }; foreach (var child in children) { parent.Children.Add(child); child.Parent = parent; } return(parent); }
public void MassiveInsertAsync(int taskCount) { var tasks = new List <Task>(); for (var i = 0; i < taskCount; i++) { var item = new TaskCacheItem { IsDone = false, Summary = "Task " + i + " to cached.", Data = ArrayTool.GetRandomBytes(DataSize) }; var task = Task.Factory.StartNew(() => Cache.Add(item.Id.ToString(), item, DateTime.Now.AddSeconds(5))); tasks.Add(task); } Task.WaitAll(tasks.ToArray()); var stats = IndexusDistributionCache.SharedCache.GetStats(); }
/// <summary> /// 테스트용 임시 파일을 생성한다. /// </summary> public FileInfo CreateTestFile(string filepath, long size) { var fi = new FileInfo(filepath); var buffer = new byte[BufferSize]; ArrayTool.GetRandomBytes(buffer); using (var bs = new BufferedStream(fi.OpenWrite())) { long writeCount = 0; do { bs.Write(buffer, 0, BufferSize); writeCount += BufferSize; } while(size > writeCount); bs.Flush(); } return(fi); }
public void ExpirationTest(int taskCount) { TaskCacheItem item; for (var i = 0; i < taskCount; i++) { item = new TaskCacheItem() { IsDone = false, Summary = "Task " + i + " to cached.", Data = ArrayTool.GetRandomBytes(DataSize) }; Cache.Add(item.Id.ToString(), item, DateTime.Now.AddSeconds(1)); } Thread.Sleep(TimeSpan.FromSeconds(2)); item = new TaskCacheItem() { IsDone = false, Summary = "Task xxxx to cached.", Data = ArrayTool.GetRandomBytes(DataSize) }; Cache.Add(item.Id.ToString(), item, DateTime.Now.AddSeconds(1)); Thread.Sleep(TimeSpan.FromSeconds(2)); item = new TaskCacheItem() { IsDone = false, Summary = "Task xxxx to cached.", Data = ArrayTool.GetRandomBytes(DataSize) }; Cache.Add(item.Id.ToString(), item, DateTime.Now.AddSeconds(1)); var stats = IndexusDistributionCache.SharedCache.GetStats(); }
protected virtual void CreateObjectsInDB() { parentsInDB = new List <Parent>(); parentsInDB.Add(CreateParentObject("Parent1", 100, new Child { Description = ArrayTool.GetRandomBytes(1024).BytesToHex() }, new Child { Description = ArrayTool.GetRandomBytes(1024).BytesToHex() })); parentsInDB.Add(CreateParentObject("Parent2", 200, new Child { Description = ArrayTool.GetRandomBytes(1024).BytesToHex() }, new Child { Description = ArrayTool.GetRandomBytes(1024).BytesToHex() })); parentsInDB.Add(CreateParentObject("Parent4", 400, new Child { Description = ArrayTool.GetRandomBytes(1024).BytesToHex() })); AssumeParentObjectNamesAreUnique(parentsInDB); SaveAndFlushToDatabase(parentsInDB); }
public UserInfo(string firstName, string lastName, string address, string city, string state, string zipCode, string email, string userName, string passWord) { FirstName = firstName; LastName = lastName; Address = address; City = city; State = state; ZipCode = zipCode; Email = email; UserName = userName; Password = passWord; Age = 0; UpdateTime = DateTime.Now; ByteArray = ArrayTool.GetRandomBytes(1024 * 4); Description = "동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세. Hello World. ".Replicate(10); HomeAddr = new AddressInfo(); OfficeAddr = new AddressInfo(); }