Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- ConfigurationElement.cs
- DBCommand.cs
- TransformPatternIdentifiers.cs
- IdentityReference.cs
- EdmScalarPropertyAttribute.cs
- WebPartConnectionCollection.cs
- XmlDataDocument.cs
- LinearQuaternionKeyFrame.cs
- HttpBufferlessInputStream.cs
- PropertyMetadata.cs
- SchemaLookupTable.cs
- SystemPens.cs
- Block.cs
- HostingEnvironmentException.cs
- WebResourceAttribute.cs
- UpWmlMobileTextWriter.cs
- FunctionDetailsReader.cs
- ProviderBase.cs
- SerializationInfoEnumerator.cs
- RoleService.cs
- HttpHandlerActionCollection.cs
- DataListCommandEventArgs.cs
- Int16KeyFrameCollection.cs
- CommandManager.cs
- WinEventTracker.cs
- ViewStateModeByIdAttribute.cs
- XmlEventCache.cs
- DesignerView.Commands.cs
- DiscreteKeyFrames.cs
- MouseButtonEventArgs.cs
- BaseTreeIterator.cs
- DictionarySectionHandler.cs
- PriorityBinding.cs
- RC2.cs
- ExpandCollapseProviderWrapper.cs
- IgnoreDataMemberAttribute.cs
- WebPageTraceListener.cs
- Gdiplus.cs
- RemoteWebConfigurationHostStream.cs
- StackSpiller.Generated.cs
- TouchesOverProperty.cs
- SqlTypesSchemaImporter.cs
- KeyValueConfigurationElement.cs
- SmiMetaDataProperty.cs
- LambdaCompiler.ControlFlow.cs
- WebPartCatalogCloseVerb.cs
- Transform.cs
- MimeTypeMapper.cs
- DoWorkEventArgs.cs
- ProfileEventArgs.cs
- AmbientLight.cs
- HtmlTable.cs
- FilterEventArgs.cs
- SettingsSection.cs
- BitmapCodecInfo.cs
- XmlEntity.cs
- TrustManager.cs
- ExpressionList.cs
- UniqueID.cs
- MultiBindingExpression.cs
- MemoryStream.cs
- PageContentCollection.cs
- CounterNameConverter.cs
- TemplateBamlTreeBuilder.cs
- ObjectSet.cs
- NavigateEvent.cs
- CodeAttributeArgument.cs
- HuffmanTree.cs
- WhitespaceSignificantCollectionAttribute.cs
- ControlCollection.cs
- PrintController.cs
- AssertUtility.cs
- SynchronizedDispatch.cs
- QilStrConcat.cs
- DataGridViewCellConverter.cs
- FormViewDeletedEventArgs.cs
- AccessDataSourceView.cs
- RunWorkerCompletedEventArgs.cs
- Pick.cs
- PinnedBufferMemoryStream.cs
- IISMapPath.cs
- InvalidEnumArgumentException.cs
- PingOptions.cs
- BrowserCapabilitiesCompiler.cs
- WindowsSysHeader.cs
- COM2ColorConverter.cs
- ForceCopyBuildProvider.cs
- Int32Storage.cs
- ProtocolsInstallComponent.cs
- RedirectionProxy.cs
- TreeNodeCollection.cs
- CodeStatement.cs
- NeutralResourcesLanguageAttribute.cs
- ComponentEvent.cs
- AspCompat.cs
- NamespaceList.cs
- DispatcherSynchronizationContext.cs
- GeneratedView.cs
- ProfileSettings.cs
- HtmlLinkAdapter.cs