Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / clr / src / BCL / System / Runtime / Remoting / URLAttribute.cs / 1 / URLAttribute.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** File: UrlAttribute.cs ** **Author: Tarun Anand ([....]) ** ** Purpose: Defines an attribute which can be used at the callsite to ** specify the URL at which the activation will happen. ** ** Date: [....] 30, 2000 ** ===========================================================*/ namespace System.Runtime.Remoting.Activation { using System.Runtime.Remoting; using System.Runtime.Remoting.Contexts; using System.Runtime.Remoting.Messaging; using System.Security.Permissions; using System; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public sealed class UrlAttribute : ContextAttribute { private String url; private static String propertyName = "UrlAttribute"; [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)] public UrlAttribute(String callsiteURL) :base(propertyName) { if(null == callsiteURL) { // Invalid arg throw new ArgumentNullException("callsiteURL"); } url = callsiteURL; } // Review: This should be fixed. #pragma warning disable 688 // link demand on override // Object::Equals // Override the default implementation which just compares the names public override bool Equals(Object o) { return (o is IContextProperty) && (o is UrlAttribute) && (((UrlAttribute)o).UrlValue.Equals(url)); } public override int GetHashCode() { return this.url.GetHashCode(); } #pragma warning disable // Override ContextAttribute's implementation of IContextAttribute::IsContextOK [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)] [System.Runtime.InteropServices.ComVisible(true)] public override bool IsContextOK(Context ctx, IConstructionCallMessage msg) { return false; } // Override ContextAttribute's impl. of IContextAttribute::GetPropForNewCtx [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)] [System.Runtime.InteropServices.ComVisible(true)] public override void GetPropertiesForNewContext(IConstructionCallMessage ctorMsg) { // We are not interested in contributing any properties to the // new context since the only purpose of this property is to force // the creation of the context and the server object inside it at // the specified URL. return; } public String UrlValue { [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)] get { return url; } } } } // namespace // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** File: UrlAttribute.cs ** **Author: Tarun Anand ([....]) ** ** Purpose: Defines an attribute which can be used at the callsite to ** specify the URL at which the activation will happen. ** ** Date: [....] 30, 2000 ** ===========================================================*/ namespace System.Runtime.Remoting.Activation { using System.Runtime.Remoting; using System.Runtime.Remoting.Contexts; using System.Runtime.Remoting.Messaging; using System.Security.Permissions; using System; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public sealed class UrlAttribute : ContextAttribute { private String url; private static String propertyName = "UrlAttribute"; [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)] public UrlAttribute(String callsiteURL) :base(propertyName) { if(null == callsiteURL) { // Invalid arg throw new ArgumentNullException("callsiteURL"); } url = callsiteURL; } // Review: This should be fixed. #pragma warning disable 688 // link demand on override // Object::Equals // Override the default implementation which just compares the names public override bool Equals(Object o) { return (o is IContextProperty) && (o is UrlAttribute) && (((UrlAttribute)o).UrlValue.Equals(url)); } public override int GetHashCode() { return this.url.GetHashCode(); } #pragma warning disable // Override ContextAttribute's implementation of IContextAttribute::IsContextOK [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)] [System.Runtime.InteropServices.ComVisible(true)] public override bool IsContextOK(Context ctx, IConstructionCallMessage msg) { return false; } // Override ContextAttribute's impl. of IContextAttribute::GetPropForNewCtx [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)] [System.Runtime.InteropServices.ComVisible(true)] public override void GetPropertiesForNewContext(IConstructionCallMessage ctorMsg) { // We are not interested in contributing any properties to the // new context since the only purpose of this property is to force // the creation of the context and the server object inside it at // the specified URL. return; } public String UrlValue { [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)] get { return url; } } } } // namespace // 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
- Single.cs
- ReadOnlyMetadataCollection.cs
- DefaultValueTypeConverter.cs
- wgx_sdk_version.cs
- ServiceThrottlingBehavior.cs
- PropertyTabAttribute.cs
- SimpleFieldTemplateUserControl.cs
- WebSysDefaultValueAttribute.cs
- EventLog.cs
- NameSpaceExtractor.cs
- webbrowsersite.cs
- SID.cs
- CodeIdentifiers.cs
- DataGridViewButtonColumn.cs
- ManageRequest.cs
- DataTemplate.cs
- SchemaEntity.cs
- PointHitTestParameters.cs
- Frame.cs
- UnsafeNativeMethods.cs
- Menu.cs
- SafeNativeMethodsMilCoreApi.cs
- QueryCacheKey.cs
- TabItem.cs
- Margins.cs
- DataRelation.cs
- ConnectionStringSettingsCollection.cs
- AspProxy.cs
- SizeF.cs
- HttpFormatExtensions.cs
- XhtmlBasicCommandAdapter.cs
- DescendantQuery.cs
- Error.cs
- ExplicitDiscriminatorMap.cs
- ParseChildrenAsPropertiesAttribute.cs
- QueryTask.cs
- WebCategoryAttribute.cs
- ParameterCollection.cs
- TextCollapsingProperties.cs
- DataList.cs
- PropVariant.cs
- ProcessProtocolHandler.cs
- DependencyObject.cs
- InvalidStoreProtectionKeyException.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- RoleGroupCollection.cs
- WorkflowQueue.cs
- InstanceNotReadyException.cs
- Size.cs
- MarkupCompilePass1.cs
- XamlWriter.cs
- FixedDocumentSequencePaginator.cs
- Number.cs
- StylusLogic.cs
- WinEventWrap.cs
- WmiInstallComponent.cs
- ActiveXHost.cs
- DeleteHelper.cs
- ToolStripScrollButton.cs
- XmlSchemaObject.cs
- SemanticBasicElement.cs
- RoleBoolean.cs
- AssemblyInfo.cs
- AspCompat.cs
- EventHandlerList.cs
- DefaultEventAttribute.cs
- ContentPosition.cs
- XmlProcessingInstruction.cs
- SchemaExporter.cs
- FrameworkElementFactory.cs
- NonBatchDirectoryCompiler.cs
- ResourceSet.cs
- HiddenFieldPageStatePersister.cs
- LogicalTreeHelper.cs
- PropertyCondition.cs
- TextRangeSerialization.cs
- ReliableMessagingHelpers.cs
- ReachSerializerAsync.cs
- CollectionViewGroupRoot.cs
- NavigationHelper.cs
- StylusPointProperty.cs
- LocatorPart.cs
- PageThemeCodeDomTreeGenerator.cs
- ToolStripDropDownDesigner.cs
- CustomAttributeBuilder.cs
- TextEditorCharacters.cs
- ProxyAttribute.cs
- CompilerGeneratedAttribute.cs
- DataGridViewCell.cs
- SQLByte.cs
- InfiniteIntConverter.cs
- _FtpControlStream.cs
- CollectionBase.cs
- TextServicesContext.cs
- ProcessModelSection.cs
- GridSplitterAutomationPeer.cs
- Grant.cs
- ServiceProviders.cs
- XmlNamedNodeMap.cs
- DataGridViewCellStateChangedEventArgs.cs