Imported Upstream version 4.8.0.309

Former-commit-id: 5f9c6ae75f295e057a7d2971f3a6df4656fa8850
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2016-11-10 13:04:39 +00:00
parent ee1447783b
commit 94b2861243
4912 changed files with 390737 additions and 49310 deletions

View File

@ -27,6 +27,7 @@ namespace System.Web.SessionState {
using System.Globalization;
using System.Security.Permissions;
using System.Text;
using System.Threading.Tasks;
using System.Web.Hosting;
using System.Web.Management;
using Microsoft.Win32;
@ -111,7 +112,7 @@ namespace System.Web.SessionState {
/// <devdoc>
/// <para>[To be supplied.]</para>
/// </devdoc>
public sealed class SessionStateModule : IHttpModule {
public sealed class SessionStateModule : ISessionStateModule {
internal const string SQL_CONNECTION_STRING_DEFAULT = "data source=localhost;Integrated Security=SSPI";
internal const string STATE_CONNECTION_STRING_DEFAULT = "tcpip=loopback:42424";
@ -1446,15 +1447,19 @@ namespace System.Web.SessionState {
}
}
}
// DevDiv Bugs 151914: Release session state before executing child request
internal void EnsureReleaseState(HttpApplication app) {
public void ReleaseSessionState(HttpContext context) {
if (HttpRuntime.UseIntegratedPipeline && _acquireCalled && !_releaseCalled) {
try {
OnReleaseState(app, null);
OnReleaseState(context.ApplicationInstance, null);
}
catch { }
}
}
public Task ReleaseSessionStateAsync(HttpContext context) {
ReleaseSessionState(context);
return TaskAsyncHelper.CompletedTask;
}
}
}