Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / DataServiceRequestArgs.cs / 1305376 / DataServiceRequestArgs.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// This class represents additional metadata to be applied to a request
// sent from the client to a data service.
//
//---------------------------------------------------------------------
namespace System.Data.Services.Client
{
using System.Collections.Generic;
///
/// This class represent additional metadata to be applied to a request
/// sent from the client to a data service.
///
public class DataServiceRequestArgs
{
///
/// The headers collection for the request.
/// This is just a storage, no validation is done on this.
///
private readonly Dictionary headers;
///
/// Constructs a new DataServiceRequestArgs instance
///
public DataServiceRequestArgs()
{
this.headers = new Dictionary(EqualityComparer.Default);
}
///
/// Sets the mime type (ex. image/png) to be used when retrieving the stream.
/// Note that no validation is done on the contents of this property.
/// It is the responsibility of the user to format it correctly to be used
/// as the value of an HTTP Accept header.
///
public string AcceptContentType
{
get { return this.GetHeaderValue(XmlConstants.HttpRequestAccept); }
set { this.SetHeaderValue(XmlConstants.HttpRequestAccept, value); }
}
///
/// Sets the Content-Type header to be used when sending the stream to the server.
/// Note that no validation is done on the contents of this property.
/// It is the responsibility of the user to format it correctly to be used
/// as the value of an HTTP Content-Type header.
///
public string ContentType
{
get { return this.GetHeaderValue(XmlConstants.HttpContentType); }
set { this.SetHeaderValue(XmlConstants.HttpContentType, value); }
}
///
/// Sets the Slug header to be used when sending the stream to the server.
/// Note that no validation is done on the contents of this property.
/// It is the responsibility of the user to format it correctly to be used
/// as the value of an HTTP Slug header.
///
public string Slug
{
get { return this.GetHeaderValue(XmlConstants.HttpSlug); }
set { this.SetHeaderValue(XmlConstants.HttpSlug, value); }
}
///
/// Dictionary containing all the request headers to be used when retrieving the stream.
/// The user should take care so as to not alter an HTTP header which will change
/// the meaning of the request.
/// No validation is performed on the header names or values.
/// This class will not attempt to fix up any of the headers specified and
/// will try to use them "as is".
///
public Dictionary Headers
{
get { return this.headers; }
}
///
/// Helper to return a value of the header.
///
/// The name of the header to get.
/// The value of the header or null if the header is not set.
private string GetHeaderValue(string header)
{
string value;
if (!this.headers.TryGetValue(header, out value))
{
return null;
}
return value;
}
///
/// Helper to set a value of the header
///
/// The name of the header to set.
/// The value to set for the header. If this is null the header will be removed.
private void SetHeaderValue(string header, string value)
{
if (value == null)
{
if (this.headers.ContainsKey(header))
{
this.headers.Remove(header);
}
}
else
{
this.headers[header] = value;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SolidColorBrush.cs
- EncryptedXml.cs
- ServiceModelEnumValidator.cs
- _Connection.cs
- SystemKeyConverter.cs
- SoapWriter.cs
- SignatureSummaryDialog.cs
- TextSearch.cs
- XPathEmptyIterator.cs
- PersonalizableTypeEntry.cs
- Speller.cs
- WebZone.cs
- VariableQuery.cs
- ComplexTypeEmitter.cs
- OpenFileDialog.cs
- XmlBindingWorker.cs
- DesignerSerializationManager.cs
- GenericWebPart.cs
- Cursors.cs
- Viewport2DVisual3D.cs
- RenderDataDrawingContext.cs
- CssTextWriter.cs
- ElementHostPropertyMap.cs
- input.cs
- recordstatefactory.cs
- SvcMapFileSerializer.cs
- SolidBrush.cs
- ToggleButtonAutomationPeer.cs
- WebUtil.cs
- DispatcherObject.cs
- C14NUtil.cs
- Pointer.cs
- PreviewPrintController.cs
- NonParentingControl.cs
- PhoneCallDesigner.cs
- Buffer.cs
- SqlVisitor.cs
- TextElementEditingBehaviorAttribute.cs
- ConvertersCollection.cs
- baseaxisquery.cs
- DataViewListener.cs
- PipelineModuleStepContainer.cs
- CorrelationQuery.cs
- Stack.cs
- FieldCollectionEditor.cs
- HeaderFilter.cs
- ConfigurationLockCollection.cs
- ZipIOFileItemStream.cs
- Iis7Helper.cs
- Rect.cs
- CustomValidator.cs
- ConstraintStruct.cs
- EventLogTraceListener.cs
- ClientTargetCollection.cs
- SeverityFilter.cs
- Point.cs
- PkcsMisc.cs
- PackageDigitalSignature.cs
- MultipleFilterMatchesException.cs
- XmlMapping.cs
- String.cs
- MimeMapping.cs
- SqlDataAdapter.cs
- CompilerCollection.cs
- SettingsPropertyNotFoundException.cs
- HttpListenerContext.cs
- OutputScopeManager.cs
- FormsAuthenticationUser.cs
- FilterQuery.cs
- GenericsInstances.cs
- CryptoHelper.cs
- DesignerTextWriter.cs
- HtmlImageAdapter.cs
- SymLanguageType.cs
- TableRow.cs
- ServiceHttpHandlerFactory.cs
- GridView.cs
- SelectedDatesCollection.cs
- FileDataSourceCache.cs
- Transform.cs
- ControlBuilderAttribute.cs
- TrackingLocationCollection.cs
- HitTestFilterBehavior.cs
- PropertyEmitterBase.cs
- DictionaryEntry.cs
- ClientFormsAuthenticationCredentials.cs
- SamlAuthorizationDecisionClaimResource.cs
- ReadOnlyHierarchicalDataSourceView.cs
- ServiceDesigner.cs
- EncryptedType.cs
- coordinatorscratchpad.cs
- TextEmbeddedObject.cs
- UIElement.cs
- Point3DCollection.cs
- DocumentViewer.cs
- DataObjectAttribute.cs
- ConstrainedDataObject.cs
- TabControlEvent.cs
- AdornerLayer.cs
- Root.cs