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
- OleDbInfoMessageEvent.cs
- DataRecord.cs
- _TimerThread.cs
- Condition.cs
- InsufficientMemoryException.cs
- RestClientProxyHandler.cs
- TextAutomationPeer.cs
- MetafileHeaderEmf.cs
- LOSFormatter.cs
- WebBrowsableAttribute.cs
- ProfileInfo.cs
- SafeProcessHandle.cs
- MenuItem.cs
- XmlTextReaderImplHelpers.cs
- WebPartCatalogAddVerb.cs
- SafeLibraryHandle.cs
- LocationSectionRecord.cs
- NumberFunctions.cs
- DecoderFallbackWithFailureFlag.cs
- GrammarBuilderBase.cs
- Accessors.cs
- _UriSyntax.cs
- QuotedPrintableStream.cs
- MethodBuilderInstantiation.cs
- ExpressionVisitor.cs
- DomainConstraint.cs
- PropertyPath.cs
- BmpBitmapEncoder.cs
- GridViewAutomationPeer.cs
- Transform3DGroup.cs
- GenerateTemporaryTargetAssembly.cs
- Closure.cs
- MetadataUtilsSmi.cs
- MediaSystem.cs
- Hashtable.cs
- HtmlTableCellCollection.cs
- FilterQuery.cs
- SecurityPermission.cs
- PlaceHolder.cs
- CreateUserErrorEventArgs.cs
- PathTooLongException.cs
- SqlAggregateChecker.cs
- NamedObject.cs
- Executor.cs
- SharedHttpsTransportManager.cs
- ControlUtil.cs
- TableLayoutPanelDesigner.cs
- GestureRecognizer.cs
- DataGridViewButtonColumn.cs
- RootProfilePropertySettingsCollection.cs
- MediaScriptCommandRoutedEventArgs.cs
- Descriptor.cs
- TwoPhaseCommitProxy.cs
- ParameterCollection.cs
- RegexGroupCollection.cs
- ExpressionsCollectionEditor.cs
- FastEncoderWindow.cs
- IsolatedStorage.cs
- XPathNavigatorKeyComparer.cs
- RoutingChannelExtension.cs
- PermissionAttributes.cs
- MimeMapping.cs
- BuilderPropertyEntry.cs
- Parameter.cs
- CompilationRelaxations.cs
- BindingCollection.cs
- GroupBox.cs
- AstNode.cs
- EndpointInfoCollection.cs
- LessThan.cs
- EventLogTraceListener.cs
- RenderingBiasValidation.cs
- EventLogPermissionAttribute.cs
- MachineSettingsSection.cs
- DataControlField.cs
- PageAsyncTaskManager.cs
- ErrorInfoXmlDocument.cs
- StandardTransformFactory.cs
- SerializationSectionGroup.cs
- DataGridViewRowsRemovedEventArgs.cs
- TimerExtension.cs
- AsymmetricSecurityProtocol.cs
- FragmentNavigationEventArgs.cs
- DataGridViewCell.cs
- ApplicationHost.cs
- WbemProvider.cs
- SafeNativeMethods.cs
- DataSourceControl.cs
- SchemaTypeEmitter.cs
- SemaphoreFullException.cs
- HiddenField.cs
- TextServicesDisplayAttribute.cs
- PolyQuadraticBezierSegment.cs
- BlobPersonalizationState.cs
- MethodBuilder.cs
- UriGenerator.cs
- DocumentOrderQuery.cs
- RepeaterItem.cs
- PlatformCulture.cs
- BitmapEffectState.cs