Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MenuStrip.cs
- TextEffectCollection.cs
- InvalidOperationException.cs
- RequestCachePolicyConverter.cs
- DataSourceControlBuilder.cs
- DataMemberListEditor.cs
- WebRequestModuleElementCollection.cs
- ArgumentReference.cs
- MethodCallExpression.cs
- IndentedTextWriter.cs
- PerfCounters.cs
- SortKey.cs
- TabRenderer.cs
- PropertyPath.cs
- TextServicesCompartmentEventSink.cs
- XPathNavigatorKeyComparer.cs
- TimeoutException.cs
- UIElementPropertyUndoUnit.cs
- SerializationInfo.cs
- CodeAttachEventStatement.cs
- CompilerErrorCollection.cs
- BamlResourceDeserializer.cs
- InternalSafeNativeMethods.cs
- objectresult_tresulttype.cs
- EdmToObjectNamespaceMap.cs
- ContractInstanceProvider.cs
- SqlUserDefinedAggregateAttribute.cs
- ConfigXmlCDataSection.cs
- SafeCryptoHandles.cs
- ModelUIElement3D.cs
- LoginView.cs
- SocketConnection.cs
- PreviewKeyDownEventArgs.cs
- CacheMode.cs
- ViewBase.cs
- MdiWindowListStrip.cs
- HttpRuntime.cs
- DetailsViewDeleteEventArgs.cs
- SpotLight.cs
- ImageDrawing.cs
- UrlPath.cs
- StringWriter.cs
- MulticastNotSupportedException.cs
- DerivedKeyCachingSecurityTokenSerializer.cs
- AspNetCompatibilityRequirementsAttribute.cs
- FixedDSBuilder.cs
- ObjectManager.cs
- StreamedFramingRequestChannel.cs
- BrowserDefinitionCollection.cs
- PropertySourceInfo.cs
- ContentValidator.cs
- XmlTypeMapping.cs
- LoginDesignerUtil.cs
- ExpressionHelper.cs
- CalendarKeyboardHelper.cs
- UnsafeNativeMethods.cs
- MsmqChannelListenerBase.cs
- Decorator.cs
- PlacementWorkspace.cs
- AbstractDataSvcMapFileLoader.cs
- SystemWebCachingSectionGroup.cs
- StaticResourceExtension.cs
- IPGlobalProperties.cs
- MenuCommandService.cs
- safemediahandle.cs
- XmlSchemaExporter.cs
- BasicExpandProvider.cs
- MultipleCopiesCollection.cs
- MetadataItem.cs
- ContainerParagraph.cs
- PasswordBoxAutomationPeer.cs
- ExpandableObjectConverter.cs
- StyleSelector.cs
- DataRecordInternal.cs
- arabicshape.cs
- SafeThemeHandle.cs
- WindowsIdentity.cs
- ToolStripItemImageRenderEventArgs.cs
- TagElement.cs
- SHA256.cs
- HtmlTitle.cs
- ISO2022Encoding.cs
- TypeUnloadedException.cs
- AssemblyCollection.cs
- Track.cs
- DateBoldEvent.cs
- ComponentFactoryHelpers.cs
- SqlConnection.cs
- ProtocolsConfigurationHandler.cs
- SafeThemeHandle.cs
- ImageIndexEditor.cs
- EntityDataSourceWrapperCollection.cs
- CompressionTransform.cs
- KerberosSecurityTokenAuthenticator.cs
- ADMembershipUser.cs
- TextContainer.cs
- InternalBufferOverflowException.cs
- ScrollItemPattern.cs
- DifferencingCollection.cs
- PolicyManager.cs