コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public Task PostLongUrlAsync(MongoUrlEntity mongoUrlEntity)
 {
     return(_context.TinyUrlCollection.InsertOneAsync(mongoUrlEntity));
 }
コード例 #4
0
 public MongoUrlEntity PostLongUrl(MongoUrlEntity longMongoUrl)
 {
     _context.TinyUrlCollection.InsertOne(longMongoUrl);
     return(longMongoUrl);
 }
コード例 #5
0
 public Task PostLongUrlAsync(MongoUrlEntity longMongoUrl)
 {
     return(AddInsertTask(longMongoUrl));
 }