Here are the examples of the csharp api System.Threading.Tasks.Task.Run(System.Action) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
2330 Examples
19
Source : ResourceThrottle.cs
with Apache License 2.0
from 0xFireball
with Apache License 2.0
from 0xFireball
public async Task AcquireAsync()
{
await Task.Run(() => Acquire());
}
19
Source : UserLock.cs
with Apache License 2.0
from 0xFireball
with Apache License 2.0
from 0xFireball
public async Task ObtainExclusiveWriteAsync()
{
await Task.Run(() => ObtainExclusiveWrite());
}
19
Source : UserLock.cs
with Apache License 2.0
from 0xFireball
with Apache License 2.0
from 0xFireball
public async Task ObtainExclusiveReadAsync()
{
await Task.Run(() => ObtainExclusiveRead());
}
19
Source : LocalStorageHandler.cs
with Apache License 2.0
from 0xFireball
with Apache License 2.0
from 0xFireball
public async Task<FileUploadResult> HandleUploadAsync(string fileName, Stream stream)
{
replacedertIdenreplacedyProvided(); // Quota is affected
var fileId = Guid.NewGuid().ToString();
var targetFile = GetTargetFilePath(fileId);
var uploadStreamFileSize = stream.Length;
try
{
// Write file (Wait for upload throttle)
await ServerContext.ServiceTable[_owner]
.UploadThrottle.WithResourceAsync(async () =>
{
using (var destinationStream = File.Create(targetFile))
{
await stream.CopyToAsync(destinationStream);
}
});
// Make sure user has enough space remaining
if (_owner != null)
{
var lockEntry = ServerContext.ServiceTable[_owner].UserLock;
await lockEntry.ObtainExclusiveWriteAsync();
var userManager = new WebUserManager(ServerContext);
var ownerData = await userManager.FindUserByUsernameAsync(_owner);
var afterUploadSpace = ownerData.StorageUsage + uploadStreamFileSize;
if (afterUploadSpace > ownerData.StorageQuota)
{
lockEntry.ReleaseExclusiveWrite();
// Throw exception, catch block will remove file and rethrow
throw new QuotaExceededException();
}
// Increase user storage usage
ownerData.StorageUsage += uploadStreamFileSize;
await userManager.UpdateUserInDatabaseAsync(ownerData);
lockEntry.ReleaseExclusiveWrite();
}
}
catch (QuotaExceededException)
{
// Roll back write
await Task.Run(() => File.Delete(targetFile));
throw;
}
return new FileUploadResult
{
FileId = fileId,
Size = uploadStreamFileSize
};
}
19
Source : UserLock.cs
with Apache License 2.0
from 0xFireball
with Apache License 2.0
from 0xFireball
public async Task ObtainConcurrentReadAsync()
{
await Task.Run(() => ObtainConcurrentRead());
}
19
Source : LocalStorageHandler.cs
with Apache License 2.0
from 0xFireball
with Apache License 2.0
from 0xFireball
public async Task DeleteFileAsync(string fileId)
{
replacedertIdenreplacedyProvided(); // Quota is affected
var filePath = GetTargetFilePath(fileId);
var fileInfo = await Task.Run(() => new FileInfo(filePath));
var fileSize = fileInfo.Length;
await Task.Run(() => File.Delete(filePath));
if (_owner != null)
{
var lockEntry = ServerContext.ServiceTable[_owner].UserLock;
// Decrease user storage usage
await lockEntry.ObtainExclusiveWriteAsync();
var userManager = new WebUserManager(ServerContext);
var ownerData = await userManager.FindUserByUsernameAsync(_owner);
var prevStorageUsage = ownerData.StorageUsage;
ownerData.StorageUsage -= fileSize;
await userManager.UpdateUserInDatabaseAsync(ownerData);
lockEntry.ReleaseExclusiveWrite();
}
}
19
Source : DbContext.cs
with Apache License 2.0
from 1448376744
with Apache License 2.0
from 1448376744
public async Task BeginTransactionAsync()
{
await Task.Run(() =>
{
_transaction = Connection.BeginTransaction();
Logging?.Invoke("Begin Transaction");
});
}
19
Source : DbContext.cs
with Apache License 2.0
from 1448376744
with Apache License 2.0
from 1448376744
public async Task BeginTransactionAsync(IsolationLevel level)
{
await Task.Run(() =>
{
_transaction = Connection.BeginTransaction(level);
Logging?.Invoke("Begin Transaction IsolationLevel = " + level);
});
}
19
Source : Net40.cs
with MIT License
from 2881099
with MIT License
from 2881099
public static Task Run(Action action)
{
#if net40
var tcs = new TaskCompletionSource<object>();
new Thread(() =>
{
try
{
action();
tcs.SetResult(null);
}
catch (Exception ex)
{
tcs.SetException(ex);
}
})
{ IsBackground = true }.Start();
return tcs.Task;
#else
return Task.Run(action);
#endif
}
19
Source : Program.cs
with MIT License
from 2881099
with MIT License
from 2881099
static void Main(string[] args)
{
RedisHelper.Initialization(new CSRedis.CSRedisClient("127.0.0.1:6379,asyncPipeline=true,preheat=100,poolsize=100"));
cli.Set("TestMGet_null1", "");
RedisHelper.Set("TestMGet_null1", "");
sedb.StringSet("TestMGet_string1", String);
ThreadPool.SetMinThreads(10001, 10001);
Stopwatch sw = new Stopwatch();
var tasks = new List<Task>();
var results = new ConcurrentQueue<string>();
cli.FlushDb();
while (results.TryDequeue(out var del)) ;
sw.Reset();
sw.Start();
for (var a = 0; a < 100000; a++)
{
var tmp = Guid.NewGuid().ToString();
sedb.StringSet(tmp, String);
var val = sedb.StringGet(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}
sw.Stop();
Console.WriteLine("StackExchange(0-100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
while (results.TryDequeue(out var del)) ;
cli.FlushDb();
sw.Reset();
sw.Start();
tasks = new List<Task>();
for (var a = 0; a < 100000; a++)
{
tasks.Add(Task.Run(() =>
{
var tmp = Guid.NewGuid().ToString();
sedb.StringSet(tmp, String);
var val = sedb.StringGet(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}));
}
Task.WaitAll(tasks.ToArray());
sw.Stop();
Console.WriteLine("StackExchange(Task.WaitAll 100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
while (results.TryDequeue(out var del)) ;
cli.FlushDb();
sw.Reset();
sw.Start();
Task.Run(async () =>
{
for (var a = 0; a < 100000; a++)
{
var tmp = Guid.NewGuid().ToString();
await sedb.StringSetAsync(tmp, String);
var val = await sedb.StringGetAsync(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}
}).Wait();
sw.Stop();
Console.WriteLine("StackExchangeAsync(0-100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
while (results.TryDequeue(out var del)) ;
cli.FlushDb();
sw.Reset();
sw.Start();
tasks = new List<Task>();
for (var a = 0; a < 100000; a++)
{
tasks.Add(Task.Run(async () =>
{
var tmp = Guid.NewGuid().ToString();
await sedb.StringSetAsync(tmp, String);
var val = await sedb.StringGetAsync(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}));
}
Task.WaitAll(tasks.ToArray());
sw.Stop();
Console.WriteLine("StackExchangeAsync(Task.WaitAll 100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count + "\r\n");
tasks.Clear();
while (results.TryDequeue(out var del)) ;
cli.FlushDb();
sw.Reset();
sw.Start();
for (var a = 0; a < 100000; a++)
{
var tmp = Guid.NewGuid().ToString();
cli.Set(tmp, String);
var val = cli.Get(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}
sw.Stop();
Console.WriteLine("FreeRedis(0-100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
while (results.TryDequeue(out var del)) ;
cli.FlushDb();
sw.Reset();
sw.Start();
tasks = new List<Task>();
for (var a = 0; a < 100000; a++)
{
tasks.Add(Task.Run(() =>
{
var tmp = Guid.NewGuid().ToString();
cli.Set(tmp, String);
var val = cli.Get(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}));
}
Task.WaitAll(tasks.ToArray());
sw.Stop();
Console.WriteLine("FreeRedis(Task.WaitAll 100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
while (results.TryDequeue(out var del)) ;
cli.FlushDb();
sw.Reset();
sw.Start();
Task.Run(async () =>
{
for (var a = 0; a < 100000; a++)
{
var tmp = Guid.NewGuid().ToString();
await cli.SetAsync(tmp, String);
var val = await cli.GetAsync(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}
}).Wait();
sw.Stop();
Console.WriteLine("FreeRedisAsync(0-100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
while (results.TryDequeue(out var del)) ;
cli.FlushDb();
//FreeRedis.Internal.AsyncRedisSocket.sb.Clear();
//FreeRedis.Internal.AsyncRedisSocket.sw.Start();
sw.Reset();
sw.Start();
tasks = new List<Task>();
for (var a = 0; a < 100000; a++)
{
tasks.Add(Task.Run(async () =>
{
var tmp = Guid.NewGuid().ToString();
await cli.SetAsync(tmp, String);
var val = await cli.GetAsync(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}));
}
Task.WaitAll(tasks.ToArray());
sw.Stop();
//var sbstr = FreeRedis.Internal.AsyncRedisSocket.sb.ToString()
//sbstr = sbstr + sbstr.Split("\r\n").Length + "条消息 ;
Console.WriteLine("FreeRedisAsync(Task.WaitAll 100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
while (results.TryDequeue(out var del)) ;
cli.FlushDb();
sw.Reset();
sw.Start();
using (var pipe = cli.StartPipe())
{
for (var a = 0; a < 100000; a++)
{
var tmp = Guid.NewGuid().ToString();
pipe.Set(tmp, String);
var val = pipe.Get(tmp);
}
var vals = pipe.EndPipe();
for (var a = 1; a < 200000; a += 2)
{
var val = vals[a].ToString();
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}
}
sw.Stop();
Console.WriteLine("FreeRedisPipeline(0-100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count + "\r\n");
tasks.Clear();
while (results.TryDequeue(out var del)) ;
cli.FlushDb();
//sw.Reset();
//sw.Start();
//for (var a = 0; a < 100000; a++)
// cli.Call(new CommandPacket("SET").Input("TestMGet_string1").InputRaw(String));
//sw.Stop();
//Console.WriteLine("FreeRedis2: " + sw.ElapsedMilliseconds + "ms");
tasks.Clear();
while (results.TryDequeue(out var del)) ;
cli.FlushDb();
//sw.Reset();
//sw.Start();
//for (var a = 0; a < 100000; a++)
//{
// using (var rds = cli.GetTestRedisSocket())
// {
// var cmd = new CommandPacket("SET").Input("TestMGet_string1").InputRaw(String);
// rds.Write(cmd);
// cmd.Read<string>();
// }
//}
//sw.Stop();
//Console.WriteLine("FreeRedis4: " + sw.ElapsedMilliseconds + "ms");
tasks.Clear();
while (results.TryDequeue(out var del)) ;
cli.FlushDb();
sw.Reset();
sw.Start();
for (var a = 0; a < 100000; a++)
{
var tmp = Guid.NewGuid().ToString();
RedisHelper.Set(tmp, String);
var val = RedisHelper.Get(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}
sw.Stop();
Console.WriteLine("CSRedisCore(0-100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
while (results.TryDequeue(out var del)) ;
cli.FlushDb();
sw.Reset();
sw.Start();
tasks = new List<Task>();
for (var a = 0; a < 100000; a++)
{
tasks.Add(Task.Run(() =>
{
var tmp = Guid.NewGuid().ToString();
RedisHelper.Set(tmp, String);
var val = RedisHelper.Get(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}));
}
Task.WaitAll(tasks.ToArray());
sw.Stop();
Console.WriteLine("CSRedisCore(Task.WaitAll 100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
while (results.TryDequeue(out var del)) ;
cli.FlushDb();
sw.Reset();
sw.Start();
Task.Run(async () =>
{
for (var a = 0; a < 100000; a++)
{
var tmp = Guid.NewGuid().ToString();
await RedisHelper.SetAsync(tmp, String);
var val = await RedisHelper.GetAsync(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}
}).Wait();
sw.Stop();
Console.WriteLine("CSRedisCoreAsync(0-100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
while (results.TryDequeue(out var del)) ;
cli.FlushDb();
sw.Reset();
sw.Start();
tasks = new List<Task>();
for (var a = 0; a < 100000; a++)
{
tasks.Add(Task.Run(async () =>
{
var tmp = Guid.NewGuid().ToString();
await RedisHelper.SetAsync(tmp, String);
var val = await RedisHelper.GetAsync(tmp);
//if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}));
}
Task.WaitAll(tasks.ToArray());
sw.Stop();
Console.WriteLine("CSRedisCoreAsync(Task.WaitAll 100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count + "\r\n");
tasks.Clear();
while (results.TryDequeue(out var del)) ;
cli.FlushDb();
}
19
Source : Program.cs
with MIT License
from 2881099
with MIT License
from 2881099
static void Main(string[] args)
{
sedb.StringSet("key1", (string)null);
var val111 = sedb.StringGet("key1");
RedisHelper.Initialization(new CSRedis.CSRedisClient("127.0.0.1:6379,asyncPipeline=true,preheat=100,poolsize=100"));
cli.Set("TestMGet_null1", "");
RedisHelper.Set("TestMGet_null1", "");
sedb.StringSet("TestMGet_string1", String);
ThreadPool.SetMinThreads(10001, 10001);
Stopwatch sw = new Stopwatch();
var tasks = new List<Task>();
var results = new ConcurrentQueue<string>();
cli.FlushDb();
results.Clear();
sw.Reset();
sw.Start();
for (var a = 0; a < 100000; a++)
{
var tmp = Guid.NewGuid().ToString();
sedb.StringSet(tmp, String);
var val = sedb.StringGet(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}
sw.Stop();
Console.WriteLine("StackExchange(0-100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
results.Clear();
cli.FlushDb();
sw.Reset();
sw.Start();
tasks = new List<Task>();
for (var a = 0; a < 100000; a++)
{
tasks.Add(Task.Run(() =>
{
var tmp = Guid.NewGuid().ToString();
sedb.StringSet(tmp, String);
var val = sedb.StringGet(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}));
}
Task.WaitAll(tasks.ToArray());
sw.Stop();
Console.WriteLine("StackExchange(Task.WaitAll 100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
results.Clear();
cli.FlushDb();
sw.Reset();
sw.Start();
Task.Run(async () =>
{
for (var a = 0; a < 100000; a++)
{
var tmp = Guid.NewGuid().ToString();
await sedb.StringSetAsync(tmp, String);
var val = await sedb.StringGetAsync(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}
}).Wait();
sw.Stop();
Console.WriteLine("StackExchangeAsync(0-100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
results.Clear();
cli.FlushDb();
sw.Reset();
sw.Start();
tasks = new List<Task>();
for (var a = 0; a < 100000; a++)
{
tasks.Add(Task.Run(async () =>
{
var tmp = Guid.NewGuid().ToString();
await sedb.StringSetAsync(tmp, String);
var val = await sedb.StringGetAsync(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}));
}
Task.WaitAll(tasks.ToArray());
sw.Stop();
Console.WriteLine("StackExchangeAsync(Task.WaitAll 100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count + "\r\n");
tasks.Clear();
results.Clear();
cli.FlushDb();
sw.Reset();
sw.Start();
for (var a = 0; a < 100000; a++)
{
var tmp = Guid.NewGuid().ToString();
cli.Set(tmp, String);
var val = cli.Get(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}
sw.Stop();
Console.WriteLine("FreeRedis(0-100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
results.Clear();
cli.FlushDb();
sw.Reset();
sw.Start();
tasks = new List<Task>();
for (var a = 0; a < 100000; a++)
{
tasks.Add(Task.Run(() =>
{
var tmp = Guid.NewGuid().ToString();
cli.Set(tmp, String);
var val = cli.Get(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}));
}
Task.WaitAll(tasks.ToArray());
sw.Stop();
Console.WriteLine("FreeRedis(Task.WaitAll 100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
results.Clear();
cli.FlushDb();
//sw.Reset();
//sw.Start();
//Task.Run(async () =>
//{
// for (var a = 0; a < 100000; a++)
// {
// var tmp = Guid.NewGuid().ToString();
// await cli.SetAsync(tmp, String);
// var val = await cli.GetAsync(tmp);
// if (val != String) throw new Exception("not equal");
// results.Enqueue(val);
// }
//}).Wait();
//sw.Stop();
//Console.WriteLine("FreeRedisAsync(0-100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
//tasks.Clear();
//results.Clear();
//cli.FlushDb();
//FreeRedis.Internal.AsyncRedisSocket.sb.Clear();
//FreeRedis.Internal.AsyncRedisSocket.sw.Start();
//sw.Reset();
//sw.Start();
//tasks = new List<Task>();
//for (var a = 0; a < 100000; a++)
//{
// tasks.Add(Task.Run(async () =>
// {
// var tmp = Guid.NewGuid().ToString();
// await cli.SetAsync(tmp, String);
// var val = await cli.GetAsync(tmp);
// if (val != String) throw new Exception("not equal");
// results.Enqueue(val);
// }));
//}
//Task.WaitAll(tasks.ToArray());
//sw.Stop();
////var sbstr = FreeRedis.Internal.AsyncRedisSocket.sb.ToString()
////sbstr = sbstr + sbstr.Split("\r\n").Length + "条消息 ;
//Console.WriteLine("FreeRedisAsync(Task.WaitAll 100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
//tasks.Clear();
//results.Clear();
//cli.FlushDb();
sw.Reset();
sw.Start();
using (var pipe = cli.StartPipe())
{
for (var a = 0; a < 100000; a++)
{
var tmp = Guid.NewGuid().ToString();
pipe.Set(tmp, String);
var val = pipe.Get(tmp);
}
var vals = pipe.EndPipe();
for (var a = 1; a < 200000; a += 2)
{
var val = vals[a].ToString();
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}
}
sw.Stop();
Console.WriteLine("FreeRedisPipeline(0-100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count + "\r\n");
tasks.Clear();
results.Clear();
cli.FlushDb();
//sw.Reset();
//sw.Start();
//for (var a = 0; a < 100000; a++)
// cli.Call(new CommandPacket("SET").Input("TestMGet_string1").InputRaw(String));
//sw.Stop();
//Console.WriteLine("FreeRedis2: " + sw.ElapsedMilliseconds + "ms");
tasks.Clear();
results.Clear();
cli.FlushDb();
//sw.Reset();
//sw.Start();
//for (var a = 0; a < 100000; a++)
//{
// using (var rds = cli.GetTestRedisSocket())
// {
// var cmd = new CommandPacket("SET").Input("TestMGet_string1").InputRaw(String);
// rds.Write(cmd);
// cmd.Read<string>();
// }
//}
//sw.Stop();
//Console.WriteLine("FreeRedis4: " + sw.ElapsedMilliseconds + "ms");
tasks.Clear();
results.Clear();
cli.FlushDb();
sw.Reset();
sw.Start();
for (var a = 0; a < 100000; a++)
{
var tmp = Guid.NewGuid().ToString();
RedisHelper.Set(tmp, String);
var val = RedisHelper.Get(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}
sw.Stop();
Console.WriteLine("CSRedisCore(0-100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
results.Clear();
cli.FlushDb();
sw.Reset();
sw.Start();
tasks = new List<Task>();
for (var a = 0; a < 100000; a++)
{
tasks.Add(Task.Run(() =>
{
var tmp = Guid.NewGuid().ToString();
RedisHelper.Set(tmp, String);
var val = RedisHelper.Get(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}));
}
Task.WaitAll(tasks.ToArray());
sw.Stop();
Console.WriteLine("CSRedisCore(Task.WaitAll 100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
results.Clear();
cli.FlushDb();
sw.Reset();
sw.Start();
Task.Run(async () =>
{
for (var a = 0; a < 100000; a++)
{
var tmp = Guid.NewGuid().ToString();
await RedisHelper.SetAsync(tmp, String);
var val = await RedisHelper.GetAsync(tmp);
if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}
}).Wait();
sw.Stop();
Console.WriteLine("CSRedisCoreAsync(0-100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count);
tasks.Clear();
results.Clear();
cli.FlushDb();
sw.Reset();
sw.Start();
tasks = new List<Task>();
for (var a = 0; a < 100000; a++)
{
tasks.Add(Task.Run(async () =>
{
var tmp = Guid.NewGuid().ToString();
await RedisHelper.SetAsync(tmp, String);
var val = await RedisHelper.GetAsync(tmp);
//if (val != String) throw new Exception("not equal");
results.Enqueue(val);
}));
}
Task.WaitAll(tasks.ToArray());
sw.Stop();
Console.WriteLine("CSRedisCoreAsync(Task.WaitAll 100000): " + sw.ElapsedMilliseconds + "ms results: " + results.Count + "\r\n");
tasks.Clear();
results.Clear();
cli.FlushDb();
}
19
Source : Form1.cs
with MIT License
from 2881099
with MIT License
from 2881099
private void Form1_Load(object sender, EventArgs e)
{
Task.Run(() => LoadDataTreeList());
// DesktopAlert.Show("发现新版本", "\uf005", eSymbolSet.Awesome, Color.Empty, eDesktopAlertColor.DarkRed, eAlertPosition.BottomRight, 5, 0, (x) => { });
this.WindowState = FormWindowState.Maximized;
}
19
Source : Form1.cs
with MIT License
from 2881099
with MIT License
from 2881099
private void buttonItem16_Click(object sender, EventArgs e)
{
Task.Run(() => LoadDataTreeList());
}
19
Source : MainFormHandler.cs
with GNU General Public License v3.0
from 2dust
with GNU General Public License v3.0
from 2dust
public void UpdateTask(Config config, Action<bool, string> update)
{
_updateUI = update;
Task.Run(() => UpdateTaskRun(config));
}
19
Source : AssetManager.cs
with MIT License
from 404Lcc
with MIT License
from 404Lcc
private async Task<replacedetData> LoadreplacedetDataAsync<T>(string name, string suffix, bool isKeep, bool isreplacedetBundle, params string[] types) where T : Object
{
await Task.Run(() => { });
string path = GetreplacedetPath(name, types);
if (replacedetDict.ContainsKey(path))
{
return replacedetDict[path];
}
else
{
replacedetData replacedetData = new replacedetData();
Object replacedet = null;
#if replacedetBundle
if (isreplacedetBundle)
{
#if !UNITY_EDITOR
AsyncOperationHandle<T> handler = Addressables.LoadreplacedetAsync<T>($"replacedets/Bundles/{path}{suffix}");
await handler.Task;
replacedet = handler.Result;
#else
replacedet = replacedetDatabase.LoadreplacedetAtPath<T>($"replacedets/Bundles/{path}{suffix}");
#endif
}
else
{
#if !UNITY_EDITOR
replacedet = Resources.Load<T>(path);
#else
replacedet = replacedetDatabase.LoadreplacedetAtPath<T>($"replacedets/Resources/{path}{suffix}");
#endif
}
#else
#if !UNITY_EDITOR
replacedet = Resources.Load<T>(path);
#else
replacedet = replacedetDatabase.LoadreplacedetAtPath<T>($"replacedets/Resources/{path}{suffix}");
#endif
#endif
if (replacedet == null) return null;
replacedetData.replacedet = replacedet;
replacedetData.types = types;
replacedetData.name = name;
replacedetData.suffix = suffix;
replacedetData.isKeep = isKeep;
replacedetData.isreplacedetBundle = isreplacedetBundle;
replacedetDict.Add(path, replacedetData);
return replacedetData;
}
}
19
Source : TrainCaching.cs
with MIT License
from 42skillz
with MIT License
from 42skillz
public async Task Save(string train, Train trainInst, string bookingRef)
{
await Task.Run((Action) (() => Cache(trainInst, train, bookingRef)));
}
19
Source : WebhookServerBase.cs
with MIT License
from 4egod
with MIT License
from 4egod
public virtual async void StartReceivingAsync()
{
await Task.Run(() =>
{
#region Unused
//var builder = WebHost.CreateDefaultBuilder();
//builder.ConfigureServices(cfg =>
//{
// cfg.AddRouting();
//});
//builder.ConfigureLogging(cfg =>
//{
// //cfg.ClearProviders();
// //cfg.AddConsole();
// //cfg.AddDebug();
//});
//builder.UseKestrel(options =>
//{
// options.Listen(IPAddress.Any, Port);
//});
//builder.Configure(cfg =>
//{
// cfg.UseRouter(r =>
// {
// r.MapGet(WebhookTestPath, Test);
// r.MapGet(WebhookPath, Get);
// r.MapPost(WebhookPath, Post);
// });
//});
//host = builder.Build();
//logger = host.Services.GetService<ILoggerFactory>().CreateLogger(this.GetType().ToString() + $"[{IPAddress.Any}:{Port}]");
#endregion
Host.Run();
});
}
19
Source : WebhookServer.cs
with MIT License
from 4egod
with MIT License
from 4egod
private async void WebhookServer_PostReceived(WebhookEventArgs e)
{
try
{
#if !DEBUG
const string signatureHeader = "X-Twitter-Webhooks-Signature";
if (!e.Request.Headers.Keys.Contains(signatureHeader))
{
Logger.LogWarning(Resources.InvalidSignature);
InvalidPostReceived?.Invoke(e);
return;
}
var signature = e.Request.Headers[signatureHeader][0];
if (!VerifySignature(signature, e.BodyRaw))
{
Logger.LogWarning(Resources.InvalidSignature);
InvalidPostReceived?.Invoke(e);
return;
}
#endif
e.IsValid = true;
if (Recipient != 0)
{
RecipientChecker check = e.Body.FromJson<RecipientChecker>();
if (Recipient != check.Recipient) return;
}
WebhookEvent webhookEvent = e.Body.FromJson<WebhookEvent>();
if (webhookEvent.DirectMessageEvents != null)
{
if (OnMessage != null)
{
foreach (var item in webhookEvent.DirectMessageEvents)
{
MessageEventArgs args = new MessageEventArgs()
{
Recipient = webhookEvent.Recipient,
Message = item.ToMessage()
};
await Task.Run(() =>
{
OnMessage.Invoke(args);
});
}
}
}
if (webhookEvent.FollowEvents != null)
{
foreach (var item in webhookEvent.FollowEvents)
{
if (item.Type == "follow" && OnFollow != null)
{
FollowEventArgs args = new FollowEventArgs()
{
Recipient = webhookEvent.Recipient,
Timestamp = item.Timestamp,
Type = FollowType.Follow,
Target = item.Target,
Source = item.Source
};
await Task.Run(() =>
{
OnFollow.Invoke(args);
});
}
if (item.Type == "unfollow" && OnUnFollow != null)
{
FollowEventArgs args = new FollowEventArgs()
{
Recipient = webhookEvent.Recipient,
Timestamp = item.Timestamp,
Type = FollowType.Unfollow,
Target = item.Target,
Source = item.Source
};
await Task.Run(() =>
{
OnUnFollow.Invoke(args);
});
}
}
}
if (webhookEvent.TweetCreateEvents != null)
{
foreach (var item in webhookEvent.TweetCreateEvents)
{
TweetEventArgs args = new TweetEventArgs()
{
Recipient = webhookEvent.Recipient,
Tweet = item
};
bool processed = false;
if (item.RetweetedFrom != null)
{
if (OnRetweet != null)
{
await Task.Run(() =>
{
OnRetweet.Invoke(args);
});
}
processed = true;
}
if (item.QuotedFrom != null)
{
if (OnQuote != null)
{
await Task.Run(() =>
{
OnQuote.Invoke(args);
});
}
processed = true;
}
if (item.ReplyToUserId != null && item.ReplyToStatusId != null)
{
if (OnComment != null)
{
await Task.Run(() =>
{
OnComment.Invoke(args);
});
}
processed = true;
}
if (item.ReplyToUserId != null && item.ReplyToStatusId == null)
{
if (OnMention != null)
{
await Task.Run(() =>
{
OnMention.Invoke(args);
});
}
processed = true;
}
if (!processed)
{
if (OnTweet != null)
{
await Task.Run(() =>
{
OnTweet.Invoke(args);
});
}
}
}
#region
//if (Tweeted != null)
//{
// foreach (var item in webhookEvent.TweetCreateEvents)
// {
// TweetCreateEventArgs args = new TweetCreateEventArgs()
// {
// Tweet = item
// };
// Tweeted.Invoke(args);
// }
//}
#endregion
}
if (webhookEvent.LikeEvents != null)
{
if (OnLike != null)
{
foreach (var item in webhookEvent.LikeEvents)
{
LikeEventArgs args = new LikeEventArgs()
{
Recipient = webhookEvent.Recipient,
Id = item.Id,
Timestamp = item.Timestamp,
Tweet = item.Tweet,
User = item.User
};
await Task.Run(() =>
{
OnLike.Invoke(args);
});
}
}
}
}
catch (Exception ex)
{
Logger.LogError(EventId, ex, ex.Message);
}
}
19
Source : WebhookServer.cs
with MIT License
from 4egod
with MIT License
from 4egod
public virtual async void StartReceivingAsync()
{
await Task.Run(() =>
{
//var builder = WebHost.CreateDefaultBuilder();
//builder.ConfigureServices(cfg =>
//{
// cfg.AddRouting();
//});
//builder.ConfigureLogging(cfg =>
//{
// //cfg.ClearProviders();
// //cfg.AddConsole();
// //cfg.AddDebug();
//});
//builder.UseKestrel(options =>
//{
// options.Listen(IPAddress.Any, Port);
//});
//builder.Configure(cfg =>
//{
// cfg.UseRouter(r =>
// {
// r.MapGet(WebhookTestPath, Test);
// r.MapGet(WebhookPath, Get);
// r.MapPost(WebhookPath, Post);
// });
//});
//host = builder.Build();
//logger = host.Services.GetService<ILoggerFactory>().CreateLogger(this.GetType().ToString() + $"[{IPAddress.Any}:{Port}]");
host.Run();
});
}
19
Source : OtherExpressions.cs
with MIT License
from 71
with MIT License
from 71
[Fact]
public void ShouldLockExecution()
{
object syncRoot = new object();
Expression syncRootEx = syncRoot.AsExpression();
Expression sleep = X.Express<Action>(() => Thread.Sleep(2000));
Action compiledAction = Expression
.Lambda<Action>(X.Lock(syncRootEx, sleep))
.Compile();
Task task = Task.Run(compiledAction);
// Sleep to make sure the task has the time to start running
while (task.Status != TaskStatus.Running)
Thread.Sleep(50);
DateTime beforeEntering = DateTime.Now;
lock (syncRoot)
DateTime.Now.ShouldBeGreaterThan(beforeEntering.AddMilliseconds(1000));
}
19
Source : Repository.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public virtual async Task Update(TEnreplacedy obj, bool saveChanges = false)
{
await Task.Run(() => {
_dbSet.Update(obj);
});
if (saveChanges)
{
await SaveChanges();
}
}
19
Source : SmtpMail.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Send(MailModel message)
{
await Task.Run(() =>
{
try
{
SmtpClient client = new SmtpClient(_appConfig.Email.SmtpServer, _appConfig.Email.SmtpPort);
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential(_appConfig.Email.AccountName, _appConfig.Email.Preplacedword);
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress(_appConfig.Email.AccountName, _appConfig.Email.FromAlias);
mailMessage.To.Add(message.Address);
mailMessage.Body = message.Content;
mailMessage.Subject = message.Subject;
mailMessage.IsBodyHtml = true;
client.Send(mailMessage);
}
catch (Exception ex)
{
_logger.LogError(ex, "SendEmail Exception");
throw ex;
}
}).ConfigureAwait(false);
}
19
Source : NpcEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(EnreplacedyDeletedEvent<NpcEnreplacedy> message, CancellationToken cancellationToken)
{
var key = string.Format(CacheKey.Npc, message.Enreplacedy.Id);
await Task.Run(() => {
_cache.Remove(key);
});
}
19
Source : PlayerEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(EnreplacedyUpdatedEvent<PlayerEnreplacedy> message, CancellationToken cancellationToken)
{
await Task.Run(() =>
{
});
}
19
Source : PlayerEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(EnreplacedyDeletedEvent<PlayerEnreplacedy> message, CancellationToken cancellationToken)
{
await Task.Run(() =>
{
});
}
19
Source : RoomEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(EnreplacedyDeletedEvent<RoomEnreplacedy> message, CancellationToken cancellationToken)
{
var key = string.Format(CacheKey.Room, message.Enreplacedy.Id);
await Task.Run(() => {
_cache.Remove(key);
});
}
19
Source : PlayerQuestEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(EnreplacedyUpdatedEvent<PlayerQuestEnreplacedy> message, CancellationToken cancellationToken)
{
var key = string.Format(CacheKey.PlayerQuestList, message.Enreplacedy.PlayerId);
await Task.Run(() => {
_cache.Remove(key);
});
}
19
Source : RoomEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(EnreplacedyInsertedEvent<RoomEnreplacedy> message, CancellationToken cancellationToken)
{
var key = string.Format(CacheKey.Room, message.Enreplacedy.Id);
await Task.Run(() => {
_cache.Set(key, message.Enreplacedy);
});
}
19
Source : UserEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(EnreplacedyInsertedEvent<UserEnreplacedy> message, CancellationToken cancellationToken)
{
await Task.Run(() =>
{
});
}
19
Source : Repository.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public virtual async Task Remove(TEnreplacedy obj, bool saveChanges = false)
{
await Task.Run(() => {
_dbSet.Remove(obj);
});
if (saveChanges)
{
await SaveChanges();
}
}
19
Source : RoomEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(EnreplacedyUpdatedEvent<RoomEnreplacedy> message, CancellationToken cancellationToken)
{
var key = string.Format(CacheKey.Room, message.Enreplacedy.Id);
await Task.Run(() => {
_cache.Remove(key);
});
}
19
Source : UserEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(EnreplacedyDeletedEvent<UserEnreplacedy> message, CancellationToken cancellationToken)
{
await Task.Run(() =>
{
});
}
19
Source : UserEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(VisitedEvent message, CancellationToken cancellationToken)
{
await Task.Run(() =>
{
});
}
19
Source : UserEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(SignInEvent message, CancellationToken cancellationToken)
{
await Task.Run(() =>
{
});
}
19
Source : UserEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(SignUpEvent message, CancellationToken cancellationToken)
{
await Task.Run(() =>
{
});
}
19
Source : UserEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(SignOutEvent message, CancellationToken cancellationToken)
{
await Task.Run(() =>
{
});
}
19
Source : NpcEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(EnreplacedyUpdatedEvent<NpcEnreplacedy> message, CancellationToken cancellationToken)
{
var key = string.Format(CacheKey.Npc, message.Enreplacedy.Id);
await Task.Run(() => {
_cache.Remove(key);
});
}
19
Source : NpcEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(EnreplacedyInsertedEvent<NpcEnreplacedy> message, CancellationToken cancellationToken)
{
var key = string.Format(CacheKey.Npc, message.Enreplacedy.Id);
await Task.Run(() => {
_cache.Set(key, message.Enreplacedy);
});
}
19
Source : PlayerEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(EnreplacedyInsertedEvent<PlayerEnreplacedy> message, CancellationToken cancellationToken)
{
await Task.Run(() => {
});
}
19
Source : PlayerQuestEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(EnreplacedyInsertedEvent<PlayerQuestEnreplacedy> message, CancellationToken cancellationToken)
{
var key = string.Format(CacheKey.PlayerQuestList, message.Enreplacedy.PlayerId);
await Task.Run(() => {
_cache.Remove(key);
});
}
19
Source : PlayerQuestEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(EnreplacedyDeletedEvent<PlayerQuestEnreplacedy> message, CancellationToken cancellationToken)
{
var key = string.Format(CacheKey.PlayerQuestList, message.Enreplacedy.PlayerId);
await Task.Run(() => {
_cache.Remove(key);
});
}
19
Source : UserEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(EnreplacedyUpdatedEvent<UserEnreplacedy> message, CancellationToken cancellationToken)
{
await Task.Run(() =>
{
});
}
19
Source : LogManagerTests.cs
with MIT License
from Abc-Arbitrage
with MIT License
from Abc-Arbitrage
[Test]
public void should_wait_for_event_when_log_event_pool_is_exhausted()
{
LogManager.Shutdown();
BasicConfigurator.Configure(new ZeroLogBasicConfiguration
{
Appenders = { _testAppender },
LogEventQueueSize = 10,
LogEventPoolExhaustionStrategy = LogEventPoolExhaustionStrategy.WaitForLogEvent
});
var log = LogManager.GetLogger(typeof(LogManagerTests));
var actualLogEvents = new List<ILogEvent>();
for (var i = 0; i < 10; i++)
{
actualLogEvents.Add(log.Debug());
}
var signal = _testAppender.SetMessageCountTarget(2);
var logCompletedSignal = new ManualResetEvent(false);
Task.Run(() =>
{
log.Debug().Append("this is not going to happen").Log();
logCompletedSignal.Set();
});
Check.That(logCompletedSignal.WaitOne(TimeSpan.FromMilliseconds(100))).IsFalse();
actualLogEvents[0].Log();
Check.That(logCompletedSignal.WaitOne(TimeSpan.FromMilliseconds(100))).IsTrue();
Check.That(signal.Wait(TimeSpan.FromMilliseconds(100))).IsTrue();
}
19
Source : ProcessExtensions.cs
with Apache License 2.0
from abist-co-ltd
with Apache License 2.0
from abist-co-ltd
public static async Task<ProcessResult> StartProcessAsync(this Process process, ProcessStartInfo startInfo, bool showDebug = false, CancellationToken cancellationToken = default)
{
Debug.replacedert(!startInfo.UseShellExecute, "Process Start Info must not use shell execution.");
Debug.replacedert(startInfo.RedirectStandardOutput, "Process Start Info must redirect standard output.");
Debug.replacedert(startInfo.RedirectStandardError, "Process Start Info must redirect standard errors.");
process.StartInfo = startInfo;
process.EnableRaisingEvents = true;
var processResult = new TaskCompletionSource<ProcessResult>();
var errorCodeResult = new TaskCompletionSource<string[]>();
var errorList = new List<string>();
var outputCodeResult = new TaskCompletionSource<string[]>();
var outputList = new List<string>();
process.Exited += OnProcessExited;
process.ErrorDataReceived += OnErrorDataReceived;
process.OutputDataReceived += OnOutputDataReceived;
async void OnProcessExited(object sender, EventArgs args)
{
processResult.TrySetResult(new ProcessResult(process.ExitCode, await errorCodeResult.Task, await outputCodeResult.Task));
process.Close();
process.Dispose();
}
void OnErrorDataReceived(object sender, DataReceivedEventArgs args)
{
if (args.Data != null)
{
errorList.Add(args.Data);
if (!showDebug)
{
return;
}
UnityEngine.Debug.LogError(args.Data);
}
else
{
errorCodeResult.TrySetResult(errorList.ToArray());
}
}
void OnOutputDataReceived(object sender, DataReceivedEventArgs args)
{
if (args.Data != null)
{
outputList.Add(args.Data);
if (!showDebug)
{
return;
}
UnityEngine.Debug.Log(args.Data);
}
else
{
outputCodeResult.TrySetResult(outputList.ToArray());
}
}
if (!process.Start())
{
if (showDebug)
{
UnityEngine.Debug.LogError("Failed to start process!");
}
processResult.TrySetResult(new ProcessResult(process.ExitCode, new[] { "Failed to start process!" }, null));
}
else
{
process.BeginOutputReadLine();
process.BeginErrorReadLine();
CancellationWatcher(process);
}
async void CancellationWatcher(Process _process)
{
await Task.Run(() =>
{
try
{
while (!_process.HasExited)
{
if (cancellationToken.IsCancellationRequested)
{
_process.Kill();
}
}
}
catch
{
// ignored
}
});
}
return await processResult.Task;
}
19
Source : WaitForBackgroundThread.cs
with Apache License 2.0
from abist-co-ltd
with Apache License 2.0
from abist-co-ltd
public ConfiguredTaskAwaitable.ConfiguredTaskAwaiter GetAwaiter()
{
return Task.Run(() => { }).ConfigureAwait(false).GetAwaiter();
}
19
Source : DigitalAnalyzerExampleViewModel.cs
with MIT License
from ABTSoftware
with MIT License
from ABTSoftware
private async Task AddChannels(int digitalChannelsCount, int replacedogChannelsCount)
{
List<byte[]> digitalChannels = new List<byte[]>();
List<float[]> replacedogChannels = new List<float[]>();
// Force GC to free memory
GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced, true);
try
{
// Allocate memory first
await Task.Run(() =>
{
for (var i = 0; i < digitalChannelsCount; i++)
{
var newArray = new byte[SelectedPointCount];
digitalChannels.Add(newArray);
}
for (var i = 0; i < replacedogChannelsCount; i++)
{
var newArray = new float[SelectedPointCount];
replacedogChannels.Add(newArray);
}
});
// Generate random data and fill channels
await GenerateData(digitalChannels, replacedogChannels);
}
catch (OutOfMemoryException)
{
await Application.Current.Dispatcher.BeginInvoke(new Action(() => ChannelViewModels.Clear()));
MessageBox.Show(string.Format($"There is not enough RAM memory to allocate {SelectedChannelCount} channels with {SelectedPointCount} points each. Please select less channels or less points and try again."));
}
finally
{
OnPropertyChanged(nameof(IsEmpty));
OnPropertyChanged(nameof(ChannelViewModels));
OnPropertyChanged(nameof(SelectedPointCount));
OnPropertyChanged(nameof(TotalPoints));
OnPropertyChanged(nameof(XRange));
IsLoading = false;
}
}
19
Source : DigitalAnalyzerExampleViewModel.cs
with MIT License
from ABTSoftware
with MIT License
from ABTSoftware
private async Task AddChannels(int digitalChannelsCount)
{
var digitalChannels = new List<byte[]>();
// Force GC to free memory
GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced, true);
try
{
// Allocate memory first
await Task.Run(() =>
{
for (var i = 0; i < digitalChannelsCount; i++)
{
var newArray = new byte[SelectedPointCount];
digitalChannels.Add(newArray);
}
});
// Generate random data and fill channels
await GenerateData(digitalChannels);
}
catch (OutOfMemoryException)
{
await Application.Current.Dispatcher.BeginInvoke(new Action(() => ChannelViewModels.Clear()));
MessageBox.Show(string.Format($"There is not enough RAM memory to allocate {SelectedChannelCount} channels with {SelectedPointCount} points each. Please select less channels or less points and try again."));
}
finally
{
OnPropertyChanged(nameof(IsEmpty));
OnPropertyChanged(nameof(ChannelViewModels));
OnPropertyChanged(nameof(SelectedPointCount));
OnPropertyChanged(nameof(TotalPoints));
OnPropertyChanged(nameof(XRange));
IsLoading = false;
}
}
19
Source : AscReader.cs
with MIT License
from ABTSoftware
with MIT License
from ABTSoftware
public static async Task<AscData> ReadFileToAscData(
string filename, Func<float, Color> colorMapFunction, Action<int> reportProgress = null)
{
AscData result = new AscData()
{
XValues = new List<float>(),
YValues = new List<float>(),
ZValues = new List<float>(),
ColorValues = new List<Color>(),
};
await Task.Run(() =>
{
using (var file = File.OpenText(filename))
{
// Load the ASC file format
result.NumberColumns = ReadInt(file, "ncols");
result.NumberRows = ReadInt(file, "nrows");
result.XllCorner = ReadInt(file, "xllcorner");
result.YllCorner = ReadInt(file, "yllcorner");
result.CellSize = ReadInt(file, "cellsize");
result.NoDataValue = ReadInt(file, "NODATA_value");
// Generate X-values based off cell position
float[] xValuesRow = Enumerable.Range(0, result.NumberColumns).Select(x => (float)x * result.CellSize).ToArray();
for (int i = 0; i < result.NumberRows; i++)
{
// Read heights from the ASC file and generate Z-cell values
float[] heightValuesRow = ReadFloats(file, " ", result.NoDataValue);
float[] zValuesRow = Enumerable.Repeat(0 + i * result.CellSize, result.NumberRows).Select(x => (float)x).ToArray();
result.XValues.AddRange(xValuesRow);
result.YValues.AddRange(heightValuesRow);
result.ZValues.AddRange(zValuesRow);
if (colorMapFunction != null)
{
// Optional color-mapping of points based on height
Color[] colorValuesRow = heightValuesRow
.Select(colorMapFunction)
.ToArray();
result.ColorValues.AddRange(colorValuesRow);
}
// Optional report loading progress 0-100%
reportProgress?.Invoke((int)(100.0f * i / result.NumberRows));
}
}
});
return result;
}
19
Source : DatabasePerfTest.cs
with GNU Affero General Public License v3.0
from ACEmulator
with GNU Affero General Public License v3.0
from ACEmulator
public void RunAsync(Session session, int biotasPerTest = DefaultBiotasTestCount)
{
Task.Run(() => Run(session, biotasPerTest));
}
19
Source : WorldViewer.cs
with GNU General Public License v3.0
from ACEmulator
with GNU General Public License v3.0
from ACEmulator
public async void LoadLandblocks(Vector2 startBlock, Vector2 endBlock)
{
Buffer.ClearBuffer();
TextureCache.Init();
LScape.unload_landblocks_all();
DungeonMode = false;
var dx = (int)(endBlock.X - startBlock.X) + 1;
var dy = (int)(startBlock.Y - endBlock.Y) + 1;
var numBlocks = dx * dy;
var size = endBlock - startBlock;
var center = startBlock + size / 2;
var centerX = (uint)Math.Round(center.X);
var centerY = (uint)Math.Round(center.Y);
var landblockID = centerX << 24 | centerY << 16 | 0xFFFF;
MainWindow.Status.WriteLine($"Loading {numBlocks} landblocks");
await Task.Run(() => Thread.Sleep(50));
//Landblocks = new Dictionary<uint, R_Landblock>();
R_Landblock r_landblock = null;
R_Landblock centerBlock = null;
for (var lbx = (uint)startBlock.X; lbx <= endBlock.X; lbx++)
{
if (lbx < 0 || lbx > 254) continue;
for (var lby = (uint)endBlock.Y; lby <= startBlock.Y; lby++)
{
if (lby < 0 || lby > 254) continue;
var lbid = lbx << 24 | lby << 16 | 0xFFFF;
var timer = Stopwatch.StartNew();
var landblock = LScape.get_landblock(lbid);
timer.Stop();
r_landblock = new R_Landblock(landblock);
//LScape.unload_landblock(lbid);
if (lbid == landblockID)
centerBlock = r_landblock;
MainWindow.Status.WriteLine($"Loaded {lbid:X8} in {timer.Elapsed.TotalMilliseconds}ms");
//Landblocks.Add(lbid, new R_Landblock(landblock));
}
}
Buffer.BuildBuffers();
Camera.InitLandblock(centerBlock);
GameView.ViewMode = ViewMode.World;
FreeResources();
}
See More Examples