Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / clr / src / BCL / System / Runtime / Remoting / URLAttribute.cs / 1 / URLAttribute.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** File: UrlAttribute.cs ** **Author: [....] 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 // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MailBnfHelper.cs
- XPathBinder.cs
- SimpleType.cs
- UrlAuthFailedErrorFormatter.cs
- ResolveCriteriaApril2005.cs
- NonClientArea.cs
- HtmlInputRadioButton.cs
- ExtensionDataReader.cs
- ContainerFilterService.cs
- _SecureChannel.cs
- XmlReflectionImporter.cs
- DBConnectionString.cs
- AttributeProviderAttribute.cs
- PageAsyncTaskManager.cs
- PointAnimationClockResource.cs
- TransformGroup.cs
- GACMembershipCondition.cs
- ListViewSelectEventArgs.cs
- CodeIdentifier.cs
- DataTableMapping.cs
- RequestFactory.cs
- HtmlFormWrapper.cs
- RightsManagementPermission.cs
- NativeMethods.cs
- XmlParser.cs
- Action.cs
- VersionedStreamOwner.cs
- RuleSettingsCollection.cs
- CompositionTarget.cs
- TextClipboardData.cs
- DataGridViewCell.cs
- RepeaterCommandEventArgs.cs
- ItemCollection.cs
- XamlSerializationHelper.cs
- XmlUrlEditor.cs
- _PooledStream.cs
- StringValidatorAttribute.cs
- ReadOnlyCollectionBase.cs
- XmlSchemaSubstitutionGroup.cs
- Compilation.cs
- EntityContainer.cs
- HijriCalendar.cs
- BuildProviderCollection.cs
- TableItemPattern.cs
- InsufficientMemoryException.cs
- XmlAnyElementAttributes.cs
- FontNameConverter.cs
- DefaultAsyncDataDispatcher.cs
- StringUtil.cs
- BrowserDefinition.cs
- UIElement.cs
- TypeNameParser.cs
- ObjectItemNoOpAssemblyLoader.cs
- SpecialFolderEnumConverter.cs
- LicenseException.cs
- FormsAuthenticationConfiguration.cs
- TextTreeObjectNode.cs
- Transform3D.cs
- OrderablePartitioner.cs
- DesignerHelpers.cs
- HttpListenerResponse.cs
- VirtualPathProvider.cs
- FaultHandlingFilter.cs
- Library.cs
- ButtonStandardAdapter.cs
- ProcessHostConfigUtils.cs
- LicenseManager.cs
- ToolZone.cs
- PassportAuthenticationModule.cs
- RayHitTestParameters.cs
- DbBuffer.cs
- CoTaskMemHandle.cs
- IQueryable.cs
- ControlEvent.cs
- LinqDataSourceDisposeEventArgs.cs
- RoleManagerSection.cs
- DrawingContextWalker.cs
- UnsafeNetInfoNativeMethods.cs
- ListViewItem.cs
- ServiceMetadataContractBehavior.cs
- ApplicationDirectoryMembershipCondition.cs
- CapabilitiesAssignment.cs
- SchemaTableOptionalColumn.cs
- DataGridCellEditEndingEventArgs.cs
- AvtEvent.cs
- XmlLanguage.cs
- UInt64Storage.cs
- GeometryHitTestParameters.cs
- documentation.cs
- GenericsInstances.cs
- EdmToObjectNamespaceMap.cs
- WorkflowDesigner.cs
- QilInvokeLateBound.cs
- DurableTimerExtension.cs
- OleDbConnectionInternal.cs
- MyContact.cs
- SqlVersion.cs
- DATA_BLOB.cs
- HebrewCalendar.cs
- SystemIPv6InterfaceProperties.cs