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
- X509CertificateCollection.cs
- NetTcpBindingElement.cs
- TrailingSpaceComparer.cs
- SpStreamWrapper.cs
- baseaxisquery.cs
- SoapIncludeAttribute.cs
- ReadOnlyCollectionBase.cs
- _AcceptOverlappedAsyncResult.cs
- Adorner.cs
- GACIdentityPermission.cs
- LayoutTableCell.cs
- WeakRefEnumerator.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- TemplateColumn.cs
- Sentence.cs
- XMLSyntaxException.cs
- OrCondition.cs
- PropertyDescriptorGridEntry.cs
- DataGridView.cs
- StorageMappingItemLoader.cs
- ValueCollectionParameterReader.cs
- ValidationError.cs
- ExpressionVisitor.cs
- BinaryObjectWriter.cs
- OdbcError.cs
- ListViewEditEventArgs.cs
- DataGridViewRowPostPaintEventArgs.cs
- CatalogPartChrome.cs
- DataContractJsonSerializer.cs
- peersecurityelement.cs
- DefaultMemberAttribute.cs
- METAHEADER.cs
- FrameworkElementFactoryMarkupObject.cs
- IPEndPointCollection.cs
- AuthorizationSection.cs
- BeginStoryboard.cs
- InboundActivityHelper.cs
- FileDialogPermission.cs
- MessageSecurityProtocolFactory.cs
- XamlGridLengthSerializer.cs
- UpdateCompiler.cs
- BasicViewGenerator.cs
- RegularExpressionValidator.cs
- ToolStripSeparator.cs
- ConfigXmlAttribute.cs
- X509CertificateChain.cs
- DoneReceivingAsyncResult.cs
- TypeForwardedToAttribute.cs
- ScrollChrome.cs
- SeparatorAutomationPeer.cs
- Pair.cs
- MLangCodePageEncoding.cs
- _BufferOffsetSize.cs
- NonBatchDirectoryCompiler.cs
- StrokeNodeOperations.cs
- SystemException.cs
- RemotingException.cs
- SendParametersContent.cs
- xmlformatgeneratorstatics.cs
- OleDbStruct.cs
- DataSetUtil.cs
- IndexedEnumerable.cs
- Socket.cs
- TextCompositionEventArgs.cs
- ReferenceConverter.cs
- DbProviderFactoriesConfigurationHandler.cs
- CompiledQuery.cs
- SmiXetterAccessMap.cs
- FrameworkElementFactory.cs
- HwndProxyElementProvider.cs
- IdnElement.cs
- WebConfigurationHostFileChange.cs
- ClientType.cs
- SubpageParagraph.cs
- HtmlFormWrapper.cs
- AcceleratedTokenProvider.cs
- OptionalMessageQuery.cs
- FilterElement.cs
- ToolBarButtonClickEvent.cs
- SubclassTypeValidatorAttribute.cs
- Bits.cs
- VirtualizingStackPanel.cs
- BorderGapMaskConverter.cs
- TableSectionStyle.cs
- AttributeParameterInfo.cs
- TextServicesDisplayAttribute.cs
- SelectionPattern.cs
- JavaScriptString.cs
- BuilderPropertyEntry.cs
- PagesChangedEventArgs.cs
- Native.cs
- ComPlusThreadInitializer.cs
- TableItemProviderWrapper.cs
- TemplateControlParser.cs
- SafeArchiveContext.cs
- OleDbMetaDataFactory.cs
- ToolStripPanelRenderEventArgs.cs
- ProfessionalColorTable.cs
- ContractsBCL.cs
- ObjectConverter.cs