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
- ComponentTray.cs
- DispatcherObject.cs
- SaveFileDialog.cs
- ActionItem.cs
- ChangeDirector.cs
- sqlnorm.cs
- DecoderFallback.cs
- AutomationEvent.cs
- HttpRuntime.cs
- ResourceCodeDomSerializer.cs
- Context.cs
- Bits.cs
- BigInt.cs
- MultiAsyncResult.cs
- ImageConverter.cs
- WebCategoryAttribute.cs
- HtmlSelect.cs
- DocumentViewerHelper.cs
- EmptyElement.cs
- Debug.cs
- Pkcs9Attribute.cs
- NumberSubstitution.cs
- KeyToListMap.cs
- Transaction.cs
- OracleBinary.cs
- MediaElementAutomationPeer.cs
- ConfigurationPropertyAttribute.cs
- HtmlTitle.cs
- WSDualHttpSecurity.cs
- CompiledQueryCacheEntry.cs
- XmlnsCache.cs
- NameScope.cs
- MimeTypePropertyAttribute.cs
- SoapElementAttribute.cs
- EventDescriptor.cs
- SecurityElement.cs
- WsiProfilesElement.cs
- HttpProtocolImporter.cs
- ReturnValue.cs
- OdbcError.cs
- DispatchWrapper.cs
- BuildDependencySet.cs
- Form.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- SerializationFieldInfo.cs
- ListChangedEventArgs.cs
- TextWriter.cs
- externdll.cs
- GradientStop.cs
- ShutDownListener.cs
- dataprotectionpermissionattribute.cs
- Setter.cs
- XmlStreamStore.cs
- SessionStateSection.cs
- PointCollection.cs
- ErrorWrapper.cs
- StyleModeStack.cs
- TextRunTypographyProperties.cs
- CopyAttributesAction.cs
- PropertyNames.cs
- ContentValidator.cs
- ReflectPropertyDescriptor.cs
- DocumentPaginator.cs
- ListViewDeletedEventArgs.cs
- SqlNode.cs
- Int32KeyFrameCollection.cs
- BaseInfoTable.cs
- StringValidator.cs
- WebPartDisplayMode.cs
- ValidationErrorInfo.cs
- HttpModulesSection.cs
- SymmetricAlgorithm.cs
- GridLength.cs
- MainMenu.cs
- XmlSchemaGroup.cs
- FlowNode.cs
- AppDomainManager.cs
- Module.cs
- TrackBarRenderer.cs
- KeyedHashAlgorithm.cs
- Stylesheet.cs
- NamedObject.cs
- EdmValidator.cs
- WindowsToolbarAsMenu.cs
- Convert.cs
- ICspAsymmetricAlgorithm.cs
- WebDisplayNameAttribute.cs
- CompareInfo.cs
- LineServicesRun.cs
- Int16KeyFrameCollection.cs
- DropShadowBitmapEffect.cs
- TCEAdapterGenerator.cs
- ImportContext.cs
- Container.cs
- TimeSpanMinutesConverter.cs
- CacheEntry.cs
- CssStyleCollection.cs
- XmlNamespaceDeclarationsAttribute.cs
- DataGridRow.cs
- SamlAuthenticationStatement.cs