public void Write(Exception exception, RequestInformation info) { if (!(exception is WebException)) Debug.WriteLine( string.Format("{0} - {1}: {2}", info.Method, info.Uri.ToString(), exception.Message)); }
private static void InternalHandleError(Exception error) { var behavior = GetWebErrorHandlerConfiguration(); if (behavior == null || behavior.LogHandler == null) return; RequestInformation info; if (OperationContext.Current.OutgoingMessageProperties.ContainsKey( ErrorHandlerBehavior.HttpRequestInformationProperty)) info = (RequestInformation)OperationContext.Current.OutgoingMessageProperties[ ErrorHandlerBehavior.HttpRequestInformationProperty]; else info = new RequestInformation(); behavior.LogHandler.Write(error, info); }
// ────────────────────────── IDispatchMessageInspector Members ────────────────────────── public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext) { if (OperationContext.Current.OutgoingMessageProperties.ContainsKey( HttpRequestInformationProperty)) return null; var info = new RequestInformation(); var contentLengthHeader = WebOperationContext.Current.IncomingRequest.Headers[HttpRequestHeader.ContentLength]; long contentLength; if (!string.IsNullOrEmpty(contentLengthHeader)) long.TryParse(contentLengthHeader, out contentLength); else contentLength = -1; info.ContentLength = contentLength; info.Uri = OperationContext.Current.IncomingMessageHeaders.To; info.Method = WebOperationContext.Current.IncomingRequest.Method; info.ContentType = WebOperationContext.Current.IncomingRequest.ContentType; info.Accept = WebOperationContext.Current.IncomingRequest.Accept; info.UserAgent = WebOperationContext.Current.IncomingRequest.UserAgent; info.Headers = WebOperationContext.Current.IncomingRequest.Headers; OperationContext.Current.OutgoingMessageProperties.Add( HttpRequestInformationProperty, info); return null; }