Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Messaging / System / Messaging / MessageQueuePermissionAttribute.cs / 1305376 / MessageQueuePermissionAttribute.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Messaging { using System.ComponentModel; using System.Security; using System.Security.Permissions; ///[ AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Assembly | AttributeTargets.Event, AllowMultiple = true, Inherited = false ), Serializable() ] [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes")] public class MessageQueuePermissionAttribute : CodeAccessSecurityAttribute { private string label; private string machineName; private string path; private string category; private MessageQueuePermissionAccess permissionAccess; /// public MessageQueuePermissionAttribute(SecurityAction action) : base(action) { } /// public string Category { get { return this.category; } set { string oldValue = this.category; this.category = value; Exception e = CheckProperties(); if (e != null) { this.category = oldValue; throw e; } } } /// public string Label { get { return this.label; } set { string oldValue = this.label; this.label = value; Exception e = CheckProperties(); if (e != null) { this.label = oldValue; throw e; } } } /// public string MachineName { get { return this.machineName; } set{ if (value != null && !SyntaxCheck.CheckMachineName(value)) throw new ArgumentException(Res.GetString(Res.InvalidProperty, "MachineName", value)); string oldValue = this.machineName; this.machineName = value; Exception e = CheckProperties(); if (e != null) { this.machineName = oldValue; throw e; } } } /// public string Path { get { return this.path; } set { if (value != null && value != MessageQueuePermission.Any && !MessageQueue.ValidatePath(value, false)) throw new ArgumentException(Res.GetString(Res.PathSyntax)); string oldValue = this.path; this.path = value; Exception e = CheckProperties(); if (e != null) { this.path = oldValue; throw e; } } } /// public MessageQueuePermissionAccess PermissionAccess { get { return this.permissionAccess; } set { this.permissionAccess = value; } } /// public override IPermission CreatePermission() { if (Unrestricted) return new MessageQueuePermission(PermissionState.Unrestricted); CheckProperties(); if (this.path != null) return new MessageQueuePermission(this.PermissionAccess, this.path); return new MessageQueuePermission(this.PermissionAccess, this.machineName, this.label, this.category); } private Exception CheckProperties() { if (this.path != null && (this.machineName != null || this.label != null || this.category != null)) return new InvalidOperationException(Res.GetString(Res.PermissionPathOrCriteria)); if (this.path == null && this.machineName == null && this.label == null && this.category == null) return new InvalidOperationException(Res.GetString(Res.PermissionAllNull)); return null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Messaging { using System.ComponentModel; using System.Security; using System.Security.Permissions; ///[ AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Assembly | AttributeTargets.Event, AllowMultiple = true, Inherited = false ), Serializable() ] [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes")] public class MessageQueuePermissionAttribute : CodeAccessSecurityAttribute { private string label; private string machineName; private string path; private string category; private MessageQueuePermissionAccess permissionAccess; /// public MessageQueuePermissionAttribute(SecurityAction action) : base(action) { } /// public string Category { get { return this.category; } set { string oldValue = this.category; this.category = value; Exception e = CheckProperties(); if (e != null) { this.category = oldValue; throw e; } } } /// public string Label { get { return this.label; } set { string oldValue = this.label; this.label = value; Exception e = CheckProperties(); if (e != null) { this.label = oldValue; throw e; } } } /// public string MachineName { get { return this.machineName; } set{ if (value != null && !SyntaxCheck.CheckMachineName(value)) throw new ArgumentException(Res.GetString(Res.InvalidProperty, "MachineName", value)); string oldValue = this.machineName; this.machineName = value; Exception e = CheckProperties(); if (e != null) { this.machineName = oldValue; throw e; } } } /// public string Path { get { return this.path; } set { if (value != null && value != MessageQueuePermission.Any && !MessageQueue.ValidatePath(value, false)) throw new ArgumentException(Res.GetString(Res.PathSyntax)); string oldValue = this.path; this.path = value; Exception e = CheckProperties(); if (e != null) { this.path = oldValue; throw e; } } } /// public MessageQueuePermissionAccess PermissionAccess { get { return this.permissionAccess; } set { this.permissionAccess = value; } } /// public override IPermission CreatePermission() { if (Unrestricted) return new MessageQueuePermission(PermissionState.Unrestricted); CheckProperties(); if (this.path != null) return new MessageQueuePermission(this.PermissionAccess, this.path); return new MessageQueuePermission(this.PermissionAccess, this.machineName, this.label, this.category); } private Exception CheckProperties() { if (this.path != null && (this.machineName != null || this.label != null || this.category != null)) return new InvalidOperationException(Res.GetString(Res.PermissionPathOrCriteria)); if (this.path == null && this.machineName == null && this.label == null && this.category == null) return new InvalidOperationException(Res.GetString(Res.PermissionAllNull)); return null; } } } // 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
- DataGridViewDataErrorEventArgs.cs
- BoundField.cs
- EntityDataSourceReferenceGroup.cs
- XmlIterators.cs
- XPathSelectionIterator.cs
- ResourceManagerWrapper.cs
- WebBrowserDocumentCompletedEventHandler.cs
- AddInContractAttribute.cs
- ChildTable.cs
- XmlSchemaDocumentation.cs
- XPathNavigatorReader.cs
- CodeDomConfigurationHandler.cs
- TextPointerBase.cs
- MatrixAnimationBase.cs
- wpf-etw.cs
- ConfigurationStrings.cs
- MappingModelBuildProvider.cs
- DebugInfoGenerator.cs
- ElementFactory.cs
- altserialization.cs
- TraceListener.cs
- RegexTypeEditor.cs
- DateTimeValueSerializerContext.cs
- TableCell.cs
- TemplateInstanceAttribute.cs
- ReturnEventArgs.cs
- GradientBrush.cs
- ListSurrogate.cs
- BaseTemplateParser.cs
- EventLogEntryCollection.cs
- DataGridViewCell.cs
- NamespaceCollection.cs
- CryptoApi.cs
- PathSegment.cs
- WebServiceFaultDesigner.cs
- TableLayoutStyle.cs
- EntryIndex.cs
- TTSEvent.cs
- LoginDesignerUtil.cs
- LeafCellTreeNode.cs
- PropertyBuilder.cs
- MSAAEventDispatcher.cs
- SqlBulkCopyColumnMapping.cs
- WizardDesigner.cs
- DataServiceRequestException.cs
- WSDualHttpSecurity.cs
- BooleanFacetDescriptionElement.cs
- DocumentViewerBaseAutomationPeer.cs
- SchemaReference.cs
- SecurityContext.cs
- XmlDocument.cs
- GatewayIPAddressInformationCollection.cs
- TimeoutException.cs
- MediaEntryAttribute.cs
- ObsoleteAttribute.cs
- OlePropertyStructs.cs
- CodeLabeledStatement.cs
- PageEventArgs.cs
- LinearQuaternionKeyFrame.cs
- ColorConvertedBitmap.cs
- ControlPropertyNameConverter.cs
- DebugInfoGenerator.cs
- CompositeControl.cs
- IisTraceListener.cs
- BamlLocalizationDictionary.cs
- EmptyStringExpandableObjectConverter.cs
- OdbcDataAdapter.cs
- PathTooLongException.cs
- TemplateLookupAction.cs
- InputLanguageSource.cs
- DataPagerCommandEventArgs.cs
- HostedNamedPipeTransportManager.cs
- _NegoStream.cs
- MsmqBindingElementBase.cs
- StateManagedCollection.cs
- PointF.cs
- PeerNearMe.cs
- TreeChangeInfo.cs
- AuthenticationModuleElement.cs
- MaskedTextBoxDesignerActionList.cs
- MetaTable.cs
- EllipseGeometry.cs
- ArrayList.cs
- EncoderNLS.cs
- CounterSample.cs
- MaxSessionCountExceededException.cs
- MimeBasePart.cs
- ErrorFormatterPage.cs
- PathSegmentCollection.cs
- CodeSnippetExpression.cs
- ResourceProviderFactory.cs
- Stackframe.cs
- CurrencyManager.cs
- DataGridViewBand.cs
- SqlAggregateChecker.cs
- SystemColors.cs
- Error.cs
- ExcludeFromCodeCoverageAttribute.cs
- SamlAuthenticationStatement.cs
- AppLevelCompilationSectionCache.cs