Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- ThemeableAttribute.cs
- XNodeNavigator.cs
- IconConverter.cs
- ActivityDesigner.cs
- CountAggregationOperator.cs
- SqlError.cs
- HtmlTitle.cs
- Vector3DCollectionValueSerializer.cs
- DataSourceCacheDurationConverter.cs
- BooleanStorage.cs
- OleDbRowUpdatingEvent.cs
- DecoratedNameAttribute.cs
- Aggregates.cs
- MetadataUtilsSmi.cs
- NCryptSafeHandles.cs
- ErrorHandler.cs
- CalendarDesigner.cs
- CallbackValidator.cs
- TransactionManager.cs
- FixedSOMTableCell.cs
- GenericWebPart.cs
- HttpVersion.cs
- ConfigurationSectionCollection.cs
- TemplatePropertyEntry.cs
- CodePageEncoding.cs
- InvalidDataException.cs
- URLMembershipCondition.cs
- IntSecurity.cs
- ObjectHandle.cs
- StatusBar.cs
- DeferredSelectedIndexReference.cs
- _HeaderInfoTable.cs
- ExitEventArgs.cs
- LoginName.cs
- SqlCacheDependencyDatabase.cs
- xdrvalidator.cs
- QueryCacheEntry.cs
- COM2AboutBoxPropertyDescriptor.cs
- CustomPopupPlacement.cs
- ValueTable.cs
- MaskedTextBox.cs
- ExceptionList.cs
- Permission.cs
- TreeNode.cs
- WebResourceUtil.cs
- HttpHeaderCollection.cs
- DataGridViewColumnTypePicker.cs
- GroupPartitionExpr.cs
- DataControlExtensions.cs
- ACL.cs
- RefreshEventArgs.cs
- AliasedSlot.cs
- DbConnectionStringCommon.cs
- DoubleLink.cs
- StylusEventArgs.cs
- EncoderFallback.cs
- BrowserTree.cs
- Number.cs
- TemplateControlBuildProvider.cs
- _BufferOffsetSize.cs
- TargetControlTypeAttribute.cs
- DataGridViewDesigner.cs
- WebServiceAttribute.cs
- UserPreferenceChangedEventArgs.cs
- BigInt.cs
- WebPartConnectionsEventArgs.cs
- FileNotFoundException.cs
- basemetadatamappingvisitor.cs
- Menu.cs
- CodeArrayIndexerExpression.cs
- DataSetUtil.cs
- SmtpTransport.cs
- ObjectContextServiceProvider.cs
- DivideByZeroException.cs
- ListSortDescription.cs
- PersistenceTypeAttribute.cs
- DocumentReferenceCollection.cs
- EntityDataSourceStatementEditor.cs
- SqlCacheDependency.cs
- HtmlInputRadioButton.cs
- UIElementCollection.cs
- Model3DCollection.cs
- LinkArea.cs
- ChannelSinkStacks.cs
- Panel.cs
- SelectionEditor.cs
- HwndMouseInputProvider.cs
- XamlInt32CollectionSerializer.cs
- WebPartEditorApplyVerb.cs
- SettingsBindableAttribute.cs
- DocumentApplicationState.cs
- ResourceReader.cs
- XmlILIndex.cs
- ErrorInfoXmlDocument.cs
- ApplicationTrust.cs
- XamlBrushSerializer.cs
- EntityDataSourceMemberPath.cs
- ToolStripGrip.cs
- SqlGenerator.cs
- Operator.cs