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
- FormattedText.cs
- XmlFormatReaderGenerator.cs
- TransactionValidationBehavior.cs
- PersonalizablePropertyEntry.cs
- GridEntryCollection.cs
- BufferedOutputStream.cs
- HScrollBar.cs
- ExecutionContext.cs
- MimeFormatter.cs
- WebPartEditVerb.cs
- TextCollapsingProperties.cs
- TagMapInfo.cs
- DefinitionBase.cs
- ColorTransform.cs
- OleDbReferenceCollection.cs
- WebDisplayNameAttribute.cs
- IgnoreSection.cs
- DtdParser.cs
- PerformanceCounterPermission.cs
- TagNameToTypeMapper.cs
- TemplatePagerField.cs
- BackStopAuthenticationModule.cs
- HtmlTextBoxAdapter.cs
- BehaviorEditorPart.cs
- EncryptedPackage.cs
- MultipleFilterMatchesException.cs
- Annotation.cs
- HtmlForm.cs
- ScrollBarRenderer.cs
- SQLRoleProvider.cs
- XmlSchemaAnyAttribute.cs
- SpeechUI.cs
- UserControlParser.cs
- CompiledXpathExpr.cs
- ConfigXmlSignificantWhitespace.cs
- SafeNativeMethodsMilCoreApi.cs
- _IPv6Address.cs
- DoubleAnimationClockResource.cs
- SoapAttributeAttribute.cs
- ScrollChrome.cs
- GiveFeedbackEventArgs.cs
- ServicePointManager.cs
- ServiceNameElement.cs
- ApplicationSettingsBase.cs
- TimeSpanMinutesConverter.cs
- BaseProcessor.cs
- InkCanvasAutomationPeer.cs
- ReadOnlyMetadataCollection.cs
- ItemType.cs
- HandlerWithFactory.cs
- XmlCustomFormatter.cs
- WrappingXamlSchemaContext.cs
- ViewgenContext.cs
- FormatConvertedBitmap.cs
- OdbcException.cs
- QueryableDataSource.cs
- CompilerGeneratedAttribute.cs
- PageAsyncTaskManager.cs
- XmlJsonReader.cs
- TreeIterator.cs
- EntitySetBaseCollection.cs
- XmlMemberMapping.cs
- EntityDataReader.cs
- DesignerActionKeyboardBehavior.cs
- NotImplementedException.cs
- XmlMemberMapping.cs
- DetailsViewPagerRow.cs
- ApplicationManager.cs
- CodeGen.cs
- _RegBlobWebProxyDataBuilder.cs
- WsatRegistrationHeader.cs
- BindValidator.cs
- OpenFileDialog.cs
- LocalBuilder.cs
- EditorZone.cs
- DataSet.cs
- ErrorActivity.cs
- ApplicationDirectoryMembershipCondition.cs
- WorkflowOperationFault.cs
- CustomTrackingRecord.cs
- ClockGroup.cs
- DbConnectionPoolGroupProviderInfo.cs
- InstanceDataCollectionCollection.cs
- CompiledXpathExpr.cs
- ScrollBar.cs
- MemberCollection.cs
- RotateTransform.cs
- UInt32Storage.cs
- RoleBoolean.cs
- _ScatterGatherBuffers.cs
- OSFeature.cs
- PropertyMap.cs
- FileDialog_Vista.cs
- TimelineCollection.cs
- PriorityChain.cs
- WrapPanel.cs
- XmlNodeChangedEventManager.cs
- CompiledELinqQueryState.cs
- MenuItemBinding.cs
- Span.cs