Code:
/ DotNET / DotNET / 8.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
- ExtensibleClassFactory.cs
- SemaphoreFullException.cs
- InstanceStoreQueryResult.cs
- StackSpiller.Bindings.cs
- CustomAssemblyResolver.cs
- CursorConverter.cs
- BindableTemplateBuilder.cs
- exports.cs
- DataTrigger.cs
- ButtonFieldBase.cs
- SafeLibraryHandle.cs
- RequiredArgumentAttribute.cs
- XsdDataContractExporter.cs
- VirtualPathProvider.cs
- cookiecontainer.cs
- RuleSettings.cs
- RC2CryptoServiceProvider.cs
- GeometryHitTestResult.cs
- IList.cs
- XmlAggregates.cs
- ExtendedTransformFactory.cs
- ContentIterators.cs
- DateTimeSerializationSection.cs
- TreeView.cs
- RtType.cs
- DirectionalLight.cs
- ReceiveSecurityHeaderEntry.cs
- EventEntry.cs
- OdbcReferenceCollection.cs
- OdbcHandle.cs
- OleDbEnumerator.cs
- ControllableStoryboardAction.cs
- PeerObject.cs
- JulianCalendar.cs
- SafeUserTokenHandle.cs
- ExternalFile.cs
- Boolean.cs
- DataService.cs
- Activity.cs
- Int32KeyFrameCollection.cs
- TextParagraph.cs
- WindowsComboBox.cs
- PointConverter.cs
- DiagnosticTrace.cs
- EmbeddedMailObject.cs
- SettingsPropertyValue.cs
- Visual3DCollection.cs
- WizardPanel.cs
- UInt16.cs
- QueryReaderSettings.cs
- Transform3DGroup.cs
- OrderByBuilder.cs
- JsonServiceDocumentSerializer.cs
- IItemContainerGenerator.cs
- BamlLocalizationDictionary.cs
- BulletedListEventArgs.cs
- ConsumerConnectionPoint.cs
- DrawToolTipEventArgs.cs
- DeploymentSectionCache.cs
- Helper.cs
- Hash.cs
- HashCodeCombiner.cs
- RuntimeConfig.cs
- BitmapEffectOutputConnector.cs
- ADConnectionHelper.cs
- GPPOINTF.cs
- ApplyTemplatesAction.cs
- TextTabProperties.cs
- localization.cs
- SqlUDTStorage.cs
- Comparer.cs
- DivideByZeroException.cs
- SpecialFolderEnumConverter.cs
- PermissionRequestEvidence.cs
- CollectionConverter.cs
- CacheModeValueSerializer.cs
- Transform3DGroup.cs
- TemplateContentLoader.cs
- SpeechDetectedEventArgs.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- BinarySerializer.cs
- StaticTextPointer.cs
- XpsManager.cs
- FunctionOverloadResolver.cs
- BitmapSizeOptions.cs
- XmlParserContext.cs
- VerificationAttribute.cs
- DynamicArgumentDialog.cs
- GroupQuery.cs
- FontDialog.cs
- SHA1.cs
- WebPartHelpVerb.cs
- PinnedBufferMemoryStream.cs
- Compilation.cs
- RecordManager.cs
- LocatorGroup.cs
- TextCharacters.cs
- MediaSystem.cs
- returneventsaver.cs
- CubicEase.cs