Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataWeb / Server / System / Data / Services / Providers / ServiceOperation.cs / 1 / ServiceOperation.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a type to represent custom operations on services. // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Providers { using System; using System.Diagnostics; using System.Reflection; ///Use this class to represent a custom service operation. [DebuggerVisualizer("ServiceOperation={Name}")] internal class ServiceOperation { ///Whether this is an update method or a GET method. ///Might need to be more specific than this when we design service operation updates. private readonly bool invoke; ///private readonly MethodInfo method; /// for the service operation. MIME type specified on primitive results, possibly null. private readonly string mimeType; ///In-order parameters for this operation. private readonly ServiceOperationParameter[] parameters; ///Kind of result expected from this operation. private readonly ServiceOperationResultKind resultKind; ///Type of element of the method result. private readonly Type resultType; ///Entity set from which entities are read, if applicable. private ResourceContainer entitySet; ///Access rights to this service operation. private ServiceOperationRights rights; ////// Initializes a new ///instance. /// for the service operation. /// Kind of result expected from this operation. /// Type of element of the method result. /// MIME type specified on primitive results, possibly null. /// Whether this is an update method or a GET method. /// In-order parameters for this operation. public ServiceOperation( MethodInfo method, ServiceOperationResultKind resultKind, Type resultType, string mimeType, bool invoke, ServiceOperationParameter[] parameters) { Debug.Assert(method != null, "method != null"); Debug.Assert(resultType != null, "resultType != null"); Debug.Assert(parameters != null, "parameters != null"); WebUtil.DebugEnumIsDefined(resultKind); if (mimeType != null && !WebUtil.IsValidMimeType(mimeType)) { string message = Strings.ServiceOperation_MimeTypeNotValid(mimeType, method.Name, method.DeclaringType); throw new InvalidOperationException(message); } this.method = method; this.resultKind = resultKind; this.resultType = resultType; this.mimeType = mimeType; this.invoke = invoke; this.parameters = parameters; } /// Entity set from which entities are read (possibly null). public ResourceContainer EntitySet { get { return this.entitySet; } set { this.entitySet = value; } } ///Whether this is an update method or a GET method. public bool Invoke { get { return this.invoke; } } ///public MethodInfo Method { get { return this.method; } } /// for the service operation. MIME type specified on primitive results, possibly null. public string MimeType { get { return this.mimeType; } } ///Name of the service operation. public string Name { get { return this.method.Name; } } ///In-order parameters for this operation. public ServiceOperationParameter[] Parameters { get { return this.parameters; } } ///Kind of result expected from this operation. public ServiceOperationResultKind ResultKind { get { return this.resultKind; } } ///Element of result type. ////// Note that if the method returns an IEnumerable<string>, /// this property will be typeof(string). /// public Type ResultType { get { return this.resultType; } } ///Whether the operation is visible to service consumers. internal bool IsHidden { get { return this.rights == ServiceOperationRights.None; } } ///Access rights to this service operation. internal ServiceOperationRights Rights { get { return this.rights; } set { this.rights = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a type to represent custom operations on services. // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Providers { using System; using System.Diagnostics; using System.Reflection; ///Use this class to represent a custom service operation. [DebuggerVisualizer("ServiceOperation={Name}")] internal class ServiceOperation { ///Whether this is an update method or a GET method. ///Might need to be more specific than this when we design service operation updates. private readonly bool invoke; ///private readonly MethodInfo method; /// for the service operation. MIME type specified on primitive results, possibly null. private readonly string mimeType; ///In-order parameters for this operation. private readonly ServiceOperationParameter[] parameters; ///Kind of result expected from this operation. private readonly ServiceOperationResultKind resultKind; ///Type of element of the method result. private readonly Type resultType; ///Entity set from which entities are read, if applicable. private ResourceContainer entitySet; ///Access rights to this service operation. private ServiceOperationRights rights; ////// Initializes a new ///instance. /// for the service operation. /// Kind of result expected from this operation. /// Type of element of the method result. /// MIME type specified on primitive results, possibly null. /// Whether this is an update method or a GET method. /// In-order parameters for this operation. public ServiceOperation( MethodInfo method, ServiceOperationResultKind resultKind, Type resultType, string mimeType, bool invoke, ServiceOperationParameter[] parameters) { Debug.Assert(method != null, "method != null"); Debug.Assert(resultType != null, "resultType != null"); Debug.Assert(parameters != null, "parameters != null"); WebUtil.DebugEnumIsDefined(resultKind); if (mimeType != null && !WebUtil.IsValidMimeType(mimeType)) { string message = Strings.ServiceOperation_MimeTypeNotValid(mimeType, method.Name, method.DeclaringType); throw new InvalidOperationException(message); } this.method = method; this.resultKind = resultKind; this.resultType = resultType; this.mimeType = mimeType; this.invoke = invoke; this.parameters = parameters; } /// Entity set from which entities are read (possibly null). public ResourceContainer EntitySet { get { return this.entitySet; } set { this.entitySet = value; } } ///Whether this is an update method or a GET method. public bool Invoke { get { return this.invoke; } } ///public MethodInfo Method { get { return this.method; } } /// for the service operation. MIME type specified on primitive results, possibly null. public string MimeType { get { return this.mimeType; } } ///Name of the service operation. public string Name { get { return this.method.Name; } } ///In-order parameters for this operation. public ServiceOperationParameter[] Parameters { get { return this.parameters; } } ///Kind of result expected from this operation. public ServiceOperationResultKind ResultKind { get { return this.resultKind; } } ///Element of result type. ////// Note that if the method returns an IEnumerable<string>, /// this property will be typeof(string). /// public Type ResultType { get { return this.resultType; } } ///Whether the operation is visible to service consumers. internal bool IsHidden { get { return this.rights == ServiceOperationRights.None; } } ///Access rights to this service operation. internal ServiceOperationRights Rights { get { return this.rights; } set { this.rights = 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
- FormViewUpdateEventArgs.cs
- HttpConfigurationSystem.cs
- BitConverter.cs
- PointKeyFrameCollection.cs
- WindowsProgressbar.cs
- RelatedView.cs
- ConfigurationPropertyAttribute.cs
- SmtpClient.cs
- DataGrid.cs
- HwndPanningFeedback.cs
- Int32AnimationUsingKeyFrames.cs
- StateMachineWorkflowInstance.cs
- UpdateTranslator.cs
- XPathDocumentIterator.cs
- DeferredElementTreeState.cs
- EmptyEnumerator.cs
- BamlTreeUpdater.cs
- ViewgenGatekeeper.cs
- WebPartConnectionsCancelVerb.cs
- TypeSource.cs
- XPathAxisIterator.cs
- GrammarBuilderWildcard.cs
- GenericUriParser.cs
- CommandValueSerializer.cs
- Menu.cs
- GlyphTypeface.cs
- URLBuilder.cs
- BitmapSource.cs
- GenericXmlSecurityToken.cs
- ProbeMatches11.cs
- DecimalAnimationBase.cs
- Timeline.cs
- GeneratedView.cs
- TagPrefixCollection.cs
- RemotingException.cs
- ErrorFormatter.cs
- HostUtils.cs
- MetadataArtifactLoaderCompositeResource.cs
- SQLResource.cs
- UserNameServiceElement.cs
- PeerUnsafeNativeMethods.cs
- SchemaImporterExtensionElementCollection.cs
- SqlFacetAttribute.cs
- WhitespaceRule.cs
- RuntimeHelpers.cs
- KeyToListMap.cs
- MatrixTransform.cs
- UIPropertyMetadata.cs
- DataKey.cs
- coordinatorfactory.cs
- ToolStripItemClickedEventArgs.cs
- TcpProcessProtocolHandler.cs
- MenuAutomationPeer.cs
- Queue.cs
- TransformGroup.cs
- TransactionManager.cs
- WindowsContainer.cs
- GiveFeedbackEventArgs.cs
- BamlRecordReader.cs
- TransformDescriptor.cs
- CmsInterop.cs
- MultiViewDesigner.cs
- FixedNode.cs
- coordinator.cs
- EncoderFallback.cs
- DatagridviewDisplayedBandsData.cs
- PageCache.cs
- UnknownBitmapEncoder.cs
- DataGridColumn.cs
- PathGeometry.cs
- QuaternionAnimation.cs
- ImageSourceValueSerializer.cs
- ScrollPattern.cs
- VariableAction.cs
- Solver.cs
- PackWebRequestFactory.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- Button.cs
- RightsManagementEncryptionTransform.cs
- PackagePartCollection.cs
- FixedPageStructure.cs
- BinHexEncoder.cs
- NameValueConfigurationCollection.cs
- MediaContextNotificationWindow.cs
- OdbcCommand.cs
- ReadOnlyDataSourceView.cs
- SqlAggregateChecker.cs
- TitleStyle.cs
- DataGridViewDesigner.cs
- EntityDataSourceChangingEventArgs.cs
- Int32CAMarshaler.cs
- WorkflowApplicationUnloadedException.cs
- Sorting.cs
- Module.cs
- HMACRIPEMD160.cs
- KeysConverter.cs
- WebServiceEnumData.cs
- MessageBox.cs
- AttributeQuery.cs
- LoginDesignerUtil.cs