Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- FloaterBaseParagraph.cs
- LocatorPart.cs
- TabControlEvent.cs
- DataRecordInfo.cs
- Object.cs
- ReachSerializationCacheItems.cs
- NameSpaceEvent.cs
- XmlILConstructAnalyzer.cs
- Lease.cs
- DetailsViewDeleteEventArgs.cs
- DynamicRendererThreadManager.cs
- GridSplitter.cs
- ServicePointManagerElement.cs
- XmlEntity.cs
- ComboBox.cs
- Int16.cs
- MimeObjectFactory.cs
- Converter.cs
- JavascriptCallbackBehaviorAttribute.cs
- SymLanguageType.cs
- SharedUtils.cs
- WindowsListViewItemStartMenu.cs
- Attributes.cs
- SqlFacetAttribute.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- Compiler.cs
- KeyTime.cs
- ConstructorExpr.cs
- UdpRetransmissionSettings.cs
- TextWriter.cs
- HandlerWithFactory.cs
- ConfigXmlText.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- storepermission.cs
- SourceFileInfo.cs
- RootNamespaceAttribute.cs
- InfoCardAsymmetricCrypto.cs
- GatewayIPAddressInformationCollection.cs
- StoreContentChangedEventArgs.cs
- ContextActivityUtils.cs
- DatatypeImplementation.cs
- RenderOptions.cs
- FilterEventArgs.cs
- Maps.cs
- UriTemplateHelpers.cs
- Clipboard.cs
- ResourceSet.cs
- XmlSignatureProperties.cs
- PolyLineSegment.cs
- RectAnimation.cs
- ConsumerConnectionPoint.cs
- Clause.cs
- Bitmap.cs
- TableAutomationPeer.cs
- BmpBitmapEncoder.cs
- ProfileBuildProvider.cs
- ReversePositionQuery.cs
- KeyTimeConverter.cs
- ArrayMergeHelper.cs
- ErrorsHelper.cs
- HttpResponseBase.cs
- DesignerCommandAdapter.cs
- CodeParameterDeclarationExpressionCollection.cs
- X509CertificateChain.cs
- UserControlBuildProvider.cs
- UnsafeNativeMethods.cs
- ColumnPropertiesGroup.cs
- TypeDelegator.cs
- Message.cs
- ComAwareEventInfo.cs
- GeometryDrawing.cs
- ArrangedElement.cs
- XmlSortKey.cs
- HtmlControlPersistable.cs
- PageContent.cs
- KeyValueConfigurationCollection.cs
- ApplicationInterop.cs
- CustomErrorCollection.cs
- DataViewManagerListItemTypeDescriptor.cs
- SerializableAttribute.cs
- NetWebProxyFinder.cs
- AddressingVersion.cs
- NameValueSectionHandler.cs
- ApplicationBuildProvider.cs
- URLAttribute.cs
- ColorInterpolationModeValidation.cs
- PathGeometry.cs
- DataSourceHelper.cs
- KoreanCalendar.cs
- ToolStripItemTextRenderEventArgs.cs
- XmlSchemas.cs
- ArrayWithOffset.cs
- PermissionAttributes.cs
- SqlWorkflowPersistenceService.cs
- ToolBar.cs
- MessageBodyMemberAttribute.cs
- Region.cs
- DataGridColumn.cs
- WebPartMenu.cs
- XmlDataImplementation.cs