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
- PrivateUnsafeNativeCompoundFileMethods.cs
- AttachedAnnotationChangedEventArgs.cs
- AutoGeneratedField.cs
- XamlClipboardData.cs
- PluralizationServiceUtil.cs
- NativeMethods.cs
- PropertyValueEditor.cs
- CharacterHit.cs
- SourceFilter.cs
- Stack.cs
- ResourceReferenceKeyNotFoundException.cs
- MessageBuffer.cs
- PropertyEmitter.cs
- PriorityChain.cs
- Quad.cs
- MaskDescriptors.cs
- SecurityMessageProperty.cs
- BroadcastEventHelper.cs
- ProjectionPath.cs
- StringStorage.cs
- GridViewCellAutomationPeer.cs
- RegexCharClass.cs
- CorrelationTokenTypeConvertor.cs
- WorkflowRuntimeBehavior.cs
- EditingCoordinator.cs
- FixedHighlight.cs
- ChannelCacheSettings.cs
- GeneralTransform3DGroup.cs
- DataGridColumnFloatingHeader.cs
- UnsafeNativeMethodsCLR.cs
- LostFocusEventManager.cs
- DelayLoadType.cs
- SByteStorage.cs
- PrintDialog.cs
- HttpListenerPrefixCollection.cs
- RijndaelManaged.cs
- InkPresenterAutomationPeer.cs
- DataGridViewDataConnection.cs
- PackageRelationship.cs
- CheckoutException.cs
- StaticDataManager.cs
- InvokeMethodActivityDesigner.cs
- ReachFixedDocumentSerializerAsync.cs
- SQLDouble.cs
- HashHelper.cs
- FontCacheUtil.cs
- HttpListenerTimeoutManager.cs
- ConsumerConnectionPoint.cs
- _PooledStream.cs
- FullTrustAssembliesSection.cs
- UmAlQuraCalendar.cs
- XsdDateTime.cs
- BindingRestrictions.cs
- SchemaCollectionPreprocessor.cs
- XmlWriterDelegator.cs
- WebPartConnectionsConnectVerb.cs
- XmlComplianceUtil.cs
- ChunkedMemoryStream.cs
- SoapMessage.cs
- SmtpFailedRecipientsException.cs
- ArcSegment.cs
- DataGridViewImageCell.cs
- DataObjectSettingDataEventArgs.cs
- WsdlContractConversionContext.cs
- SerializationObjectManager.cs
- GlobalDataBindingHandler.cs
- DataGridViewRow.cs
- XamlToRtfWriter.cs
- Intellisense.cs
- TextWriterTraceListener.cs
- ConstructorExpr.cs
- DataObject.cs
- sqlpipe.cs
- MgmtConfigurationRecord.cs
- TypeReference.cs
- TypeDelegator.cs
- Claim.cs
- UnsafePeerToPeerMethods.cs
- Debug.cs
- BlurEffect.cs
- ResourceReader.cs
- EndpointDiscoveryBehavior.cs
- MessageAction.cs
- SequenceNumber.cs
- PhonemeConverter.cs
- RightsManagementEncryptionTransform.cs
- BaseServiceProvider.cs
- SchemaInfo.cs
- SafeSecurityHelper.cs
- ParagraphResult.cs
- WindowsSlider.cs
- Stopwatch.cs
- storepermissionattribute.cs
- Asn1IntegerConverter.cs
- TableAutomationPeer.cs
- CompositeDuplexBindingElementImporter.cs
- BasicKeyConstraint.cs
- GeometryGroup.cs
- HighlightVisual.cs
- PingReply.cs