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
- HighlightVisual.cs
- listitem.cs
- ImageSource.cs
- UICuesEvent.cs
- DataGridColumnHeader.cs
- UserMapPath.cs
- ReadOnlyDataSourceView.cs
- RowParagraph.cs
- InputLanguage.cs
- MimeFormReflector.cs
- StreamedFramingRequestChannel.cs
- BindableTemplateBuilder.cs
- ConfigurationSectionGroupCollection.cs
- CroppedBitmap.cs
- TabletDeviceInfo.cs
- HttpListener.cs
- Opcode.cs
- EpmContentSerializerBase.cs
- SmiSettersStream.cs
- ToolConsole.cs
- AlphabeticalEnumConverter.cs
- RouteItem.cs
- Model3DCollection.cs
- SqlConnectionHelper.cs
- ModuleBuilderData.cs
- Maps.cs
- XhtmlCssHandler.cs
- MemberPath.cs
- PropertyEmitter.cs
- cookie.cs
- GradientStopCollection.cs
- Exceptions.cs
- ResXResourceWriter.cs
- TextElement.cs
- SqlInternalConnectionSmi.cs
- UIElementParagraph.cs
- TableItemPattern.cs
- securitycriticaldataformultiplegetandset.cs
- _DomainName.cs
- InstanceHandleConflictException.cs
- MinimizableAttributeTypeConverter.cs
- BaseTemplateBuildProvider.cs
- EraserBehavior.cs
- ColorIndependentAnimationStorage.cs
- FileStream.cs
- DataGridRow.cs
- XmlWriterSettings.cs
- DesignerAdapterUtil.cs
- SrgsDocument.cs
- SearchForVirtualItemEventArgs.cs
- Int16AnimationUsingKeyFrames.cs
- HttpDictionary.cs
- PathParser.cs
- CustomAttribute.cs
- DataGridTableCollection.cs
- EntityViewGenerator.cs
- DBDataPermission.cs
- DelayedRegex.cs
- MultiView.cs
- Nullable.cs
- UserNameSecurityToken.cs
- Selection.cs
- ToolStripStatusLabel.cs
- XmlObjectSerializer.cs
- StrongNameMembershipCondition.cs
- OletxEnlistment.cs
- SqlClientFactory.cs
- GrammarBuilderBase.cs
- EmptyStringExpandableObjectConverter.cs
- ThicknessAnimationBase.cs
- TextEndOfLine.cs
- hwndwrapper.cs
- ObjectStateEntry.cs
- DocumentOrderComparer.cs
- OperationAbortedException.cs
- RTLAwareMessageBox.cs
- CatalogPartCollection.cs
- MoveSizeWinEventHandler.cs
- SqlServer2KCompatibilityCheck.cs
- PropertyIDSet.cs
- Set.cs
- TextDecoration.cs
- CompositeFontInfo.cs
- HttpCacheVaryByContentEncodings.cs
- HMACSHA256.cs
- HttpProfileBase.cs
- BooleanExpr.cs
- Section.cs
- Pen.cs
- XmlSchemaSimpleType.cs
- NativeMethods.cs
- Empty.cs
- JsonReaderDelegator.cs
- CharAnimationUsingKeyFrames.cs
- Visual.cs
- XmlAttributeHolder.cs
- InputLanguageCollection.cs
- BitmapEffectState.cs
- StylusPlugInCollection.cs
- RC2CryptoServiceProvider.cs