Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- PointAnimationBase.cs
- CssStyleCollection.cs
- ConfigurationPropertyCollection.cs
- ByteConverter.cs
- ObjectIDGenerator.cs
- StringCollectionMarkupSerializer.cs
- WebBrowserSiteBase.cs
- ControlIdConverter.cs
- IPAddress.cs
- Compiler.cs
- ToolBar.cs
- SchemaElementDecl.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- CultureMapper.cs
- SqlNotificationRequest.cs
- VariableBinder.cs
- QilReplaceVisitor.cs
- InvokeMethodActivityDesigner.cs
- DataTableReaderListener.cs
- CssClassPropertyAttribute.cs
- PropVariant.cs
- PriorityItem.cs
- BinaryObjectInfo.cs
- UiaCoreProviderApi.cs
- DataGridViewMethods.cs
- HtmlTextArea.cs
- InheritanceContextHelper.cs
- UndoManager.cs
- Codec.cs
- Message.cs
- ClientConvert.cs
- MultipleViewProviderWrapper.cs
- TextureBrush.cs
- HighContrastHelper.cs
- UIPropertyMetadata.cs
- UInt16Converter.cs
- PanelDesigner.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- NameValueConfigurationElement.cs
- ClientCredentialsSecurityTokenManager.cs
- StrongNameKeyPair.cs
- SlipBehavior.cs
- Literal.cs
- XmlDictionaryWriter.cs
- sortedlist.cs
- ConcurrencyMode.cs
- ParameterModifier.cs
- SafeNativeMethods.cs
- DataObject.cs
- Point3DAnimationBase.cs
- ToolStripItemTextRenderEventArgs.cs
- RemoteWebConfigurationHost.cs
- HttpPostServerProtocol.cs
- DataServiceRequestException.cs
- ExpressionNormalizer.cs
- CommandConverter.cs
- StringCollectionMarkupSerializer.cs
- MarshalDirectiveException.cs
- TimeSpanConverter.cs
- ReadOnlyDataSourceView.cs
- OciHandle.cs
- RemotingConfiguration.cs
- PrintDocument.cs
- IdnMapping.cs
- URIFormatException.cs
- ProtectedProviderSettings.cs
- FrameworkObject.cs
- ExclusiveTcpListener.cs
- ButtonChrome.cs
- RuntimeWrappedException.cs
- TransformerConfigurationWizardBase.cs
- sitestring.cs
- LoadedOrUnloadedOperation.cs
- SatelliteContractVersionAttribute.cs
- SuppressMergeCheckAttribute.cs
- RelationshipConstraintValidator.cs
- SessionState.cs
- Maps.cs
- ProjectionPathSegment.cs
- XhtmlBasicPhoneCallAdapter.cs
- ConditionalWeakTable.cs
- DockPanel.cs
- formatstringdialog.cs
- DataGridSortCommandEventArgs.cs
- ControlCachePolicy.cs
- SystemDiagnosticsSection.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- Deserializer.cs
- SQlBooleanStorage.cs
- XmlLanguage.cs
- UIElementHelper.cs
- TlsnegoTokenAuthenticator.cs
- FragmentQueryProcessor.cs
- ProfileProvider.cs
- SchemaImporterExtensionElementCollection.cs
- RequestQueue.cs
- SchemaElementLookUpTable.cs
- Hex.cs
- cookie.cs
- HttpContextWrapper.cs