Imported Upstream version 4.2.0.179

Former-commit-id: 4610231f55806d2a05ed69e5ff3faa7336cc1479
This commit is contained in:
Xamarin Public Jenkins
2015-08-26 07:17:56 -04:00
committed by Jo Shields
parent aa7da660d6
commit c042cd0c52
7507 changed files with 90259 additions and 657307 deletions

View File

@@ -63,7 +63,9 @@ namespace System.Web.Services.Protocols {
private int timeout;
private string connectionGroupName;
private Encoding requestEncoding;
#if !MONO
private RemoteDebugger debugger;
#endif
private WebRequest pendingSyncRequest;
object nullToken = new object();
Hashtable asyncInvokes = Hashtable.Synchronized(new Hashtable());
@@ -399,6 +401,7 @@ namespace System.Web.Services.Protocols {
}
internal void NotifyClientCallOut(WebRequest request) {
#if !MONO
if (RemoteDebugger.IsClientCallOutEnabled()) {
debugger = new RemoteDebugger();
debugger.NotifyClientCallOut(request);
@@ -406,6 +409,7 @@ namespace System.Web.Services.Protocols {
else {
debugger = null;
}
#endif
}
/// <include file='doc\ClientProtocol.uex' path='docs/doc[@for="WebClientProtocol.GetWebRequest"]/*' />
@@ -455,8 +459,10 @@ namespace System.Web.Services.Protocols {
}
}
finally {
#if !MONO
if (debugger != null)
debugger.NotifyClientCallReturn(response);
#endif
}
return response;
}
@@ -472,8 +478,10 @@ namespace System.Web.Services.Protocols {
/// </devdoc>
protected virtual WebResponse GetWebResponse(WebRequest request, IAsyncResult result) {
WebResponse response = request.EndGetResponse(result);
#if !MONO
if (response != null && debugger != null)
debugger.NotifyClientCallReturn(response);
#endif
return response;
}

View File

@@ -95,12 +95,13 @@ namespace System.Web.Services.Protocols {
protocol.CreateServerInstance();
string stringBuffer;
#if !MONO
RemoteDebugger debugger = null;
if (!protocol.IsOneWay && RemoteDebugger.IsServerCallInEnabled(protocol, out stringBuffer)) {
debugger = new RemoteDebugger();
debugger.NotifyServerCallEnter(protocol, stringBuffer);
}
#endif
try {
TraceMethod caller = Tracing.On ? new TraceMethod(this, "Invoke") : null;
TraceMethod userMethod = Tracing.On ? new TraceMethod(protocol.Target, protocol.MethodInfo.Name, this.parameters) : null;
@@ -121,9 +122,10 @@ namespace System.Web.Services.Protocols {
}
finally {
protocol.DisposeServerInstance();
#if !MONO
if (debugger != null)
debugger.NotifyServerCallExit(protocol.Response);
#endif
}
}