예제 #1
0
		private void HandleRequest(GetRequest[] requests, GetResponse[] results, int i, IHttpContext context, IRavenHttpConfiguration ravenHttpConfiguration, MultiGetHttpContext[] contexts)
		{
			var request = requests[i];
			if (request == null)
				return;
			server.HandleActualRequest(contexts[i]);
			results[i] = contexts[i].Complete();
		}
예제 #2
0
		private void HandleRequest(GetRequest[] requests, GetResponse[] results, int i, IHttpContext context, IRavenHttpConfiguration ravenHttpConfiguration)
		{
			var request = requests[i];
			if (request == null)
				return;
			var ctx = new MultiGetHttpContext(ravenHttpConfiguration, context, request, TenantId);
			server.HandleActualRequest(ctx);
			results[i] = ctx.Complete();
		}
예제 #3
0
파일: MultiGet.cs 프로젝트: JontyMC/ravendb
        private void HandleRequest(GetRequest[] requests, GetResponse[] results, int i, IHttpContext context, IRavenHttpConfiguration ravenHttpConfiguration)
        {
            var request = requests[i];

            if (request == null)
            {
                return;
            }
            var ctx = new MultiGetHttpContext(ravenHttpConfiguration, context, request, TenantId);

            server.HandleActualRequest(ctx);
            results[i] = ctx.Complete();
        }
예제 #4
0
		public override void Respond(IHttpContext context)
		{
			var results = new List<GetResponse>();
			var requests = context.ReadJsonObject<GetRequest[]>();
			Database.TransactionalStorage.Batch(accessor => // ensure all queries are transactionally the same
			{
				foreach (var req in requests)
				{
					var ctx = new MultiGetHttpContext(Settings, context, req);
					server.HandleActualRequest(ctx);
					results.Add(ctx.Complete());
				}
			});
			context.WriteJson(results);
		}
예제 #5
0
		private void HandleRequest(GetRequest[] requests, GetResponse[] results, int i, IHttpContext context, InMemoryRavenConfiguration ravenHttpConfiguration, MultiGetHttpContext[] contexts)
		{
			var request = requests[i];
			if (request == null)
				return;
		    ravenHttpConfiguration.ConcurrentMultiGetRequests.Wait();
		    try
		    {
		        server.HandleActualRequest(contexts[i]);
		    }
		    finally 
            {
                ravenHttpConfiguration.ConcurrentMultiGetRequests.Release();
		    }
			results[i] = contexts[i].Complete();
		}