Imported Upstream version 4.0.0~alpha1

Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
This commit is contained in:
Jo Shields
2015-04-07 09:35:12 +01:00
parent 283343f570
commit 3c1f479b9d
22469 changed files with 2931443 additions and 869343 deletions

View File

@@ -0,0 +1,43 @@
//------------------------------------------------------------------------------
// <copyright file="TransferRequestHandler.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
namespace System.Web.Handlers {
using System;
using System.Web.Hosting;
internal class TransferRequestHandler : IHttpHandler {
public void ProcessRequest(HttpContext context) {
IIS7WorkerRequest wr = context.WorkerRequest as IIS7WorkerRequest;
if (wr == null) {
throw new PlatformNotSupportedException(SR.GetString(SR.Requires_Iis_Integrated_Mode));
}
// Dev10 848405: use original unencoded URL (i.e., pass null for url so W3_REQUEST::SetUrl is not called)
// Dev11 32511: Extensionless URL Handler should not pass parent IHttpUser to child requests
wr.ScheduleExecuteUrl(null,
null,
null,
true,
context.Request.EntityBody,
null,
preserveUser: false);
// force the completion of the current request so that the
// child execution can be performed immediately after unwind
context.ApplicationInstance.EnsureReleaseState();
// DevDiv Bugs 162750: IIS7 Integrated Mode: TransferRequest performance issue
// Instead of calling Response.End we call HttpApplication.CompleteRequest()
context.ApplicationInstance.CompleteRequest();
}
public bool IsReusable {
get {
return true;
}
}
}
}