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
- RenderingBiasValidation.cs
- Figure.cs
- OdbcException.cs
- AnnotationService.cs
- TextMessageEncoder.cs
- Cursor.cs
- NavigatingCancelEventArgs.cs
- RouteUrlExpressionBuilder.cs
- ToolBar.cs
- DataReaderContainer.cs
- TdsParserHelperClasses.cs
- MultipartContentParser.cs
- CodeSnippetTypeMember.cs
- Command.cs
- DataFieldConverter.cs
- ResourceDescriptionAttribute.cs
- PictureBox.cs
- Screen.cs
- odbcmetadatacolumnnames.cs
- ItemCollectionEditor.cs
- AsyncOperationLifetimeManager.cs
- DBConcurrencyException.cs
- GregorianCalendar.cs
- DataGridTextBox.cs
- LinkedResourceCollection.cs
- OpenTypeCommon.cs
- NamespaceTable.cs
- EventLogConfiguration.cs
- TimelineGroup.cs
- Axis.cs
- XmlSerializerNamespaces.cs
- Byte.cs
- ChannelFactoryRefCache.cs
- InternalTransaction.cs
- Currency.cs
- FileCodeGroup.cs
- TreeNodeBindingCollection.cs
- DesigntimeLicenseContext.cs
- Win32KeyboardDevice.cs
- BidOverLoads.cs
- Misc.cs
- StateItem.cs
- UserControl.cs
- CodeIterationStatement.cs
- DataGridViewCheckBoxColumn.cs
- CutCopyPasteHelper.cs
- Qualifier.cs
- SecurityTokenRequirement.cs
- HasCopySemanticsAttribute.cs
- X509Certificate.cs
- WsrmMessageInfo.cs
- EventHandlerList.cs
- DataServiceHostFactory.cs
- LostFocusEventManager.cs
- CodeDelegateInvokeExpression.cs
- MDIClient.cs
- TableLayoutStyleCollection.cs
- CallTemplateAction.cs
- KeyEvent.cs
- FlowDocumentView.cs
- Baml2006ReaderFrame.cs
- Brush.cs
- FtpRequestCacheValidator.cs
- HttpFormatExtensions.cs
- PageAdapter.cs
- AtomServiceDocumentSerializer.cs
- UTF32Encoding.cs
- PropertyDescriptorComparer.cs
- TemplateField.cs
- TextProviderWrapper.cs
- GlyphsSerializer.cs
- BooleanAnimationBase.cs
- Merger.cs
- Effect.cs
- DesignerUtility.cs
- Configuration.cs
- SpellerError.cs
- IDQuery.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- GeneratedCodeAttribute.cs
- UpdatableGenericsFeature.cs
- CategoryList.cs
- OutputScopeManager.cs
- SimpleTypeResolver.cs
- FileUtil.cs
- CodeExporter.cs
- ComponentCommands.cs
- WindowsTokenRoleProvider.cs
- UpDownBase.cs
- ParallelEnumerable.cs
- TagPrefixInfo.cs
- TextChangedEventArgs.cs
- ToolStripItemClickedEventArgs.cs
- Main.cs
- XpsTokenContext.cs
- CompositeFontInfo.cs
- XmlSchemaSequence.cs
- ToolboxItemWrapper.cs
- FontTypeConverter.cs
- SectionVisual.cs