Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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 (TarunA) ** ** Purpose: Defines an attribute which can be used at the callsite to ** specify the URL at which the activation will happen. ** ** Date: March 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
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- GridLength.cs
- OnOperation.cs
- CultureMapper.cs
- NameValuePermission.cs
- ViewStateException.cs
- _LoggingObject.cs
- SafeEventLogWriteHandle.cs
- HttpRuntimeSection.cs
- SelectionList.cs
- CheckBoxList.cs
- wpf-etw.cs
- EntityTypeEmitter.cs
- TabPage.cs
- XmlLangPropertyAttribute.cs
- Manipulation.cs
- CommandManager.cs
- ReturnValue.cs
- ReadOnlyDictionary.cs
- SystemUnicastIPAddressInformation.cs
- WindowsHyperlink.cs
- ListItemCollection.cs
- ParallelEnumerableWrapper.cs
- DoubleAnimationUsingKeyFrames.cs
- Adorner.cs
- DataRowChangeEvent.cs
- SHA256Managed.cs
- SoapExtensionTypeElementCollection.cs
- CredentialCache.cs
- CardSpacePolicyElement.cs
- Collection.cs
- ScrollChrome.cs
- TimeStampChecker.cs
- DataTableReaderListener.cs
- ConfigXmlWhitespace.cs
- GAC.cs
- uribuilder.cs
- DataTableReader.cs
- SectionRecord.cs
- PersonalizationStateInfo.cs
- PipeStream.cs
- AutomationPropertyInfo.cs
- JsonGlobals.cs
- ToolTipAutomationPeer.cs
- DependsOnAttribute.cs
- WsatAdminException.cs
- EntityDataSourceMemberPath.cs
- HttpSessionStateWrapper.cs
- BuildProvidersCompiler.cs
- WhitespaceRule.cs
- SQLDouble.cs
- ECDsa.cs
- PolyBezierSegment.cs
- IPGlobalProperties.cs
- HostProtectionPermission.cs
- MenuItemStyleCollection.cs
- RegexNode.cs
- BooleanStorage.cs
- WebControlParameterProxy.cs
- XmlConvert.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- OleCmdHelper.cs
- XmlElement.cs
- XmlMembersMapping.cs
- XmlSchemaParticle.cs
- NamespaceList.cs
- WebPartConnection.cs
- AssemblyBuilder.cs
- ObjectContext.cs
- ResourceSet.cs
- ScrollChrome.cs
- SapiRecoInterop.cs
- ServiceReference.cs
- ToolStripStatusLabel.cs
- GridViewAutomationPeer.cs
- XamlToRtfWriter.cs
- ExternalCalls.cs
- SqlRowUpdatedEvent.cs
- CheckoutException.cs
- Validator.cs
- IdentifierCollection.cs
- SolidBrush.cs
- Column.cs
- SqlRemoveConstantOrderBy.cs
- GlobalProxySelection.cs
- SocketElement.cs
- MessageTraceRecord.cs
- SqlCacheDependency.cs
- ScriptingJsonSerializationSection.cs
- XmlCharType.cs
- Size.cs
- JapaneseLunisolarCalendar.cs
- CleanUpVirtualizedItemEventArgs.cs
- EventToken.cs
- SchemaType.cs
- DataRecordInternal.cs
- CustomPopupPlacement.cs
- SafeLibraryHandle.cs
- Zone.cs
- ZoneButton.cs
- KeyValueConfigurationCollection.cs