public MongoUrlEntity PostLongUrl(MongoUrlEntity longMongoUrl) { var t = AddInsertTask(longMongoUrl); t.Wait(); if (t.IsFaulted) { throw t.Exception ?? new Exception("Task faulted with empty exception."); } return(t.Result); }
Task <MongoUrlEntity> AddInsertTask(MongoUrlEntity urlEntity) { var waitHandle = new EventWaitHandle(false, EventResetMode.AutoReset); lock (_ops) { _ops.Item1.Add(new InsertOneModel <MongoUrlEntity>(urlEntity)); _ops.Item2.Add(waitHandle); } var task = Task.Factory.StartNew(() => { waitHandle.WaitOne(); return(urlEntity); }); return(task); }
public Task PostLongUrlAsync(MongoUrlEntity mongoUrlEntity) { return(_context.TinyUrlCollection.InsertOneAsync(mongoUrlEntity)); }
public MongoUrlEntity PostLongUrl(MongoUrlEntity longMongoUrl) { _context.TinyUrlCollection.InsertOne(longMongoUrl); return(longMongoUrl); }
public Task PostLongUrlAsync(MongoUrlEntity longMongoUrl) { return(AddInsertTask(longMongoUrl)); }