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
- ObjectQuery_EntitySqlExtensions.cs
- BinHexEncoder.cs
- ListView.cs
- IsolatedStorageFileStream.cs
- OutputCacheSection.cs
- InkCanvasInnerCanvas.cs
- ExpandableObjectConverter.cs
- ExtensionSimplifierMarkupObject.cs
- StrongNameKeyPair.cs
- Odbc32.cs
- WebBrowser.cs
- IndexerNameAttribute.cs
- ProxyHelper.cs
- KeyValueConfigurationElement.cs
- ProcessThreadCollection.cs
- AlternateView.cs
- OledbConnectionStringbuilder.cs
- DataObject.cs
- CodeObject.cs
- sqlser.cs
- UIElementParagraph.cs
- TrustManagerMoreInformation.cs
- ValueQuery.cs
- TextFragmentEngine.cs
- TransformerTypeCollection.cs
- BmpBitmapDecoder.cs
- OutputScopeManager.cs
- NativeMethods.cs
- Stackframe.cs
- ListViewTableCell.cs
- GreenMethods.cs
- ImplicitInputBrush.cs
- ExpressionEditorSheet.cs
- Border.cs
- cookiecontainer.cs
- TagPrefixInfo.cs
- BooleanAnimationBase.cs
- RootBrowserWindowProxy.cs
- DictionaryEntry.cs
- ActiveDocumentEvent.cs
- SqlServer2KCompatibilityAnnotation.cs
- XmlCDATASection.cs
- XmlSchemaObjectTable.cs
- SynchronizingStream.cs
- StateDesigner.cs
- ServerValidateEventArgs.cs
- NameObjectCollectionBase.cs
- HttpWebRequestElement.cs
- ToolStripCodeDomSerializer.cs
- PeerConnector.cs
- CodeSnippetTypeMember.cs
- BuiltInPermissionSets.cs
- AlternateViewCollection.cs
- MediaElementAutomationPeer.cs
- DelegateArgumentReference.cs
- HttpResponseBase.cs
- IPEndPointCollection.cs
- SettingsAttributes.cs
- BeginSelectCardRequest.cs
- DataGridViewHeaderCell.cs
- MILUtilities.cs
- PrintDialog.cs
- CacheMemory.cs
- cookiecollection.cs
- NumberFormatter.cs
- StrokeSerializer.cs
- QilGeneratorEnv.cs
- CompressStream.cs
- ParagraphResult.cs
- ListBoxItemAutomationPeer.cs
- ConfigurationPropertyCollection.cs
- SizeAnimation.cs
- ManagementQuery.cs
- PartialTrustVisibleAssembly.cs
- DispatcherExceptionFilterEventArgs.cs
- ProcessModelInfo.cs
- ExpressionLink.cs
- Enum.cs
- SiteMapDataSource.cs
- LinqDataSource.cs
- TreeViewCancelEvent.cs
- XmlSchemaComplexContentExtension.cs
- ConfigurationManager.cs
- WrappedReader.cs
- EncoderParameter.cs
- DurableRuntimeValidator.cs
- TransformerInfo.cs
- Int64.cs
- TraceLevelStore.cs
- MetricEntry.cs
- BrowserCapabilitiesCompiler.cs
- Touch.cs
- TiffBitmapEncoder.cs
- TreeViewBindingsEditorForm.cs
- LongValidator.cs
- ThumbButtonInfo.cs
- ToolboxService.cs
- SqlDeflator.cs
- BaseTemplateCodeDomTreeGenerator.cs
- StringUtil.cs