Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / ServiceModel / Web / IncomingWebRequestContext.cs / 1 / IncomingWebRequestContext.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- #pragma warning disable 1634, 1691 namespace System.ServiceModel.Web { using System; using System.Globalization; using System.Diagnostics.CodeAnalysis; using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.Description; using System.ServiceModel.Dispatcher; using System.Net; using System.Collections.ObjectModel; using System.Collections.Specialized; public class IncomingWebRequestContext { internal const string UriTemplateMatchResultsPropertyName = "UriTemplateMatchResults"; OperationContext operationContext; internal IncomingWebRequestContext(OperationContext operationContext) { Fx.Assert(operationContext != null, "operationContext is null"); this.operationContext = operationContext; } public string Accept { get { return EnsureMessageProperty().Headers[HttpRequestHeader.Accept]; } } public long ContentLength { get { return long.Parse(this.EnsureMessageProperty().Headers[HttpRequestHeader.ContentLength], CultureInfo.InvariantCulture); } } public string ContentType { get { return this.EnsureMessageProperty().Headers[HttpRequestHeader.ContentType]; } } public WebHeaderCollection Headers { get { return this.EnsureMessageProperty().Headers; } } public string Method { get { return this.EnsureMessageProperty().Method; } } public UriTemplateMatch UriTemplateMatch { get { if (this.operationContext.IncomingMessageProperties.ContainsKey(UriTemplateMatchResultsPropertyName)) { return this.operationContext.IncomingMessageProperties[UriTemplateMatchResultsPropertyName] as UriTemplateMatch; } else { return null; } } set { this.operationContext.IncomingMessageProperties[UriTemplateMatchResultsPropertyName] = value; } } public string UserAgent { get { return this.EnsureMessageProperty().Headers[HttpRequestHeader.UserAgent]; } } HttpRequestMessageProperty MessageProperty { get { if (operationContext.IncomingMessageProperties == null) { return null; } if (!operationContext.IncomingMessageProperties.ContainsKey(HttpRequestMessageProperty.Name)) { return null; } return operationContext.IncomingMessageProperties[HttpRequestMessageProperty.Name] as HttpRequestMessageProperty; } } HttpRequestMessageProperty EnsureMessageProperty() { if (this.MessageProperty == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException( SR2.GetString(SR2.HttpContextNoIncomingMessageProperty, typeof(HttpRequestMessageProperty).Name))); } return this.MessageProperty; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- InputReport.cs
- AutoScrollExpandMessageFilter.cs
- XmlPreloadedResolver.cs
- DataServiceSaveChangesEventArgs.cs
- WebPartDisplayModeCancelEventArgs.cs
- SwitchAttribute.cs
- DataGridViewCellCollection.cs
- GlyphsSerializer.cs
- StrongName.cs
- ToolStripRenderEventArgs.cs
- CompressionTracing.cs
- PropertyChangingEventArgs.cs
- OracleColumn.cs
- StatusBar.cs
- QueryContinueDragEventArgs.cs
- CircleEase.cs
- HttpCachePolicy.cs
- BitmapEffectDrawingContent.cs
- GeneralTransform3D.cs
- HtmlTableRowCollection.cs
- XpsException.cs
- AutoGeneratedFieldProperties.cs
- HttpCookie.cs
- ServiceDebugElement.cs
- UrlMappingsModule.cs
- autovalidator.cs
- BitmapSource.cs
- RenamedEventArgs.cs
- DataGridLinkButton.cs
- AnimationClock.cs
- DrawingCollection.cs
- ExpressionBuilderCollection.cs
- ToolStripButton.cs
- StorageEntityContainerMapping.cs
- PowerEase.cs
- AspNetCacheProfileAttribute.cs
- CurrentTimeZone.cs
- HTMLTextWriter.cs
- MetadataItemEmitter.cs
- CodeParameterDeclarationExpression.cs
- PageCache.cs
- ReadOnlyHierarchicalDataSourceView.cs
- TemplateKeyConverter.cs
- CustomBinding.cs
- linebase.cs
- TraceSource.cs
- DurableTimerExtension.cs
- VectorAnimationBase.cs
- MetadataItemSerializer.cs
- GeometryCombineModeValidation.cs
- ConfigurationManager.cs
- SqlUserDefinedTypeAttribute.cs
- PathSegmentCollection.cs
- RtfControls.cs
- LazyInitializer.cs
- KeyGestureConverter.cs
- SHA256CryptoServiceProvider.cs
- SystemUdpStatistics.cs
- ConditionalExpression.cs
- RegistryKey.cs
- MailMessage.cs
- InputReportEventArgs.cs
- HwndKeyboardInputProvider.cs
- SetterBase.cs
- CookieParameter.cs
- LinearQuaternionKeyFrame.cs
- ExpressionPrinter.cs
- FrameworkContextData.cs
- CssStyleCollection.cs
- EdmSchemaAttribute.cs
- ViewEventArgs.cs
- ParenthesizePropertyNameAttribute.cs
- PublishLicense.cs
- SystemUnicastIPAddressInformation.cs
- CacheChildrenQuery.cs
- WorkerRequest.cs
- ConnectionConsumerAttribute.cs
- QilParameter.cs
- EntityDataSourceUtil.cs
- RtfNavigator.cs
- ActivityExecutionContextCollection.cs
- WebBrowserContainer.cs
- CompatibleIComparer.cs
- AssemblyUtil.cs
- RegexWriter.cs
- HasActivatableWorkflowEvent.cs
- DoubleAnimationBase.cs
- XmlWrappingWriter.cs
- DispatchChannelSink.cs
- PolicyChain.cs
- CommittableTransaction.cs
- ObjectNavigationPropertyMapping.cs
- Line.cs
- GenericEnumerator.cs
- HttpVersion.cs
- XmlSchemaAnnotated.cs
- ProcessStartInfo.cs
- SqlParameterizer.cs
- FormatConvertedBitmap.cs
- AuthenticationSection.cs