Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- SqlOuterApplyReducer.cs
- SemanticBasicElement.cs
- ListViewItemSelectionChangedEvent.cs
- XPathMessageFilterElement.cs
- FileLevelControlBuilderAttribute.cs
- DoubleAnimation.cs
- MessagePartSpecification.cs
- DataViewManagerListItemTypeDescriptor.cs
- DataGridPagerStyle.cs
- PenThread.cs
- ThrowHelper.cs
- QilPatternVisitor.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- SecurityUtils.cs
- _SecureChannel.cs
- ZipIOExtraFieldZip64Element.cs
- Timer.cs
- Visual3D.cs
- TemplateBindingExpressionConverter.cs
- GuidTagList.cs
- VectorConverter.cs
- Random.cs
- TypefaceMap.cs
- WindowPattern.cs
- SafeLibraryHandle.cs
- SoapAttributeAttribute.cs
- GenericWebPart.cs
- FileDetails.cs
- SpotLight.cs
- OracleRowUpdatedEventArgs.cs
- PublisherMembershipCondition.cs
- CryptographicAttribute.cs
- GuidelineCollection.cs
- GenericRootAutomationPeer.cs
- MenuBindingsEditorForm.cs
- IApplicationTrustManager.cs
- EntityTransaction.cs
- PhysicalOps.cs
- AlphabeticalEnumConverter.cs
- BitConverter.cs
- DataStorage.cs
- DebugView.cs
- SoapHeader.cs
- DbConnectionStringBuilder.cs
- TimeIntervalCollection.cs
- WorkflowMarkupSerializerMapping.cs
- GlyphingCache.cs
- WebPartVerbCollection.cs
- XmlMembersMapping.cs
- InputLanguageManager.cs
- SiteMapDataSourceView.cs
- HtmlInputPassword.cs
- BasicBrowserDialog.cs
- GPPOINT.cs
- ServiceBuildProvider.cs
- DirectoryInfo.cs
- _LoggingObject.cs
- ActivityMarkupSerializer.cs
- WebEventTraceProvider.cs
- _NetRes.cs
- ClientConfigurationHost.cs
- PreloadedPackages.cs
- RegexCaptureCollection.cs
- TextSchema.cs
- ProviderCollection.cs
- InputLangChangeRequestEvent.cs
- EnumConverter.cs
- AnyAllSearchOperator.cs
- StreamProxy.cs
- DynamicRenderer.cs
- DeploymentSectionCache.cs
- DbXmlEnabledProviderManifest.cs
- CaseKeyBox.xaml.cs
- XPathItem.cs
- TextStore.cs
- ElementMarkupObject.cs
- Serializer.cs
- BamlReader.cs
- DtrList.cs
- User.cs
- IntSecurity.cs
- WebPartEditorOkVerb.cs
- TabControlEvent.cs
- ActionMismatchAddressingException.cs
- BeginEvent.cs
- WindowsServiceElement.cs
- Matrix.cs
- ForAllOperator.cs
- RoleGroup.cs
- RelAssertionDirectKeyIdentifierClause.cs
- Point3DAnimationUsingKeyFrames.cs
- ImageAttributes.cs
- TextBoxBase.cs
- FrameAutomationPeer.cs
- XmlSchemaFacet.cs
- SignatureToken.cs
- MobileRedirect.cs
- DataSourceCache.cs
- SystemEvents.cs
- ChannelManager.cs