Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- XmlWellformedWriterHelpers.cs
- CheckBox.cs
- NestedContainer.cs
- GroupByExpressionRewriter.cs
- FilterableAttribute.cs
- FieldBuilder.cs
- ConfigurationLockCollection.cs
- SmiSettersStream.cs
- Int32CollectionValueSerializer.cs
- ListMarkerSourceInfo.cs
- PixelFormatConverter.cs
- MessageDecoder.cs
- Solver.cs
- PackWebResponse.cs
- DesignerTransaction.cs
- DataGridViewComboBoxColumnDesigner.cs
- ShimAsPublicXamlType.cs
- FormViewPagerRow.cs
- SelectionItemProviderWrapper.cs
- FileUtil.cs
- ApplicationFileCodeDomTreeGenerator.cs
- SystemNetHelpers.cs
- SiteMapSection.cs
- CriticalExceptions.cs
- SiteOfOriginPart.cs
- BuildManagerHost.cs
- LayoutDump.cs
- SizeLimitedCache.cs
- IxmlLineInfo.cs
- SqlAliasesReferenced.cs
- fixedPageContentExtractor.cs
- IncrementalCompileAnalyzer.cs
- KerberosRequestorSecurityToken.cs
- SettingsContext.cs
- OptimalBreakSession.cs
- SqlBulkCopyColumnMapping.cs
- AvTraceDetails.cs
- ConnectionPoolManager.cs
- ListCollectionView.cs
- OpCopier.cs
- MarkedHighlightComponent.cs
- AssemblyCollection.cs
- EventMappingSettingsCollection.cs
- ToolStripCustomTypeDescriptor.cs
- TextSelectionProcessor.cs
- DatePicker.cs
- UnicodeEncoding.cs
- TdsParser.cs
- Viewport3DAutomationPeer.cs
- XmlDownloadManager.cs
- Adorner.cs
- ToolStripContentPanelRenderEventArgs.cs
- TextEditorTyping.cs
- MulticastDelegate.cs
- CqlIdentifiers.cs
- MonitorWrapper.cs
- MenuItemBinding.cs
- CodeDOMUtility.cs
- DataBindingExpressionBuilder.cs
- WebSysDefaultValueAttribute.cs
- X509ScopedServiceCertificateElementCollection.cs
- AppDomainShutdownMonitor.cs
- WindowsToolbar.cs
- MultiBindingExpression.cs
- WebHttpSecurityElement.cs
- NamespaceDecl.cs
- Literal.cs
- Visitors.cs
- QilGenerator.cs
- FullTextState.cs
- UrlMappingsSection.cs
- CssClassPropertyAttribute.cs
- ToolStripContainer.cs
- DecimalStorage.cs
- Asn1IntegerConverter.cs
- TextProperties.cs
- XpsDigitalSignature.cs
- BitmapVisualManager.cs
- OperatingSystemVersionCheck.cs
- TextMarkerSource.cs
- EntityClientCacheEntry.cs
- SmiRecordBuffer.cs
- UserControl.cs
- PropertyGridEditorPart.cs
- BaseTemplateCodeDomTreeGenerator.cs
- HebrewNumber.cs
- TextBoxAutoCompleteSourceConverter.cs
- Funcletizer.cs
- ListView.cs
- ManualResetEvent.cs
- SafeThemeHandle.cs
- Int32Animation.cs
- SchemaEntity.cs
- StrokeCollectionDefaultValueFactory.cs
- Block.cs
- InheritanceContextChangedEventManager.cs
- QilStrConcatenator.cs
- SmiRequestExecutor.cs
- MonthCalendarDesigner.cs
- BrowsableAttribute.cs