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
- PolicyLevel.cs
- IISUnsafeMethods.cs
- FreezableDefaultValueFactory.cs
- DuplicateContext.cs
- Image.cs
- HandledMouseEvent.cs
- base64Transforms.cs
- XmlWrappingWriter.cs
- FontFamily.cs
- ScopelessEnumAttribute.cs
- CompModSwitches.cs
- DefaultValueAttribute.cs
- StrokeFIndices.cs
- XDeferredAxisSource.cs
- FixedSOMTableCell.cs
- CodeGotoStatement.cs
- MultiAsyncResult.cs
- WmpBitmapDecoder.cs
- ListViewSortEventArgs.cs
- DeploymentSectionCache.cs
- QuaternionRotation3D.cs
- PrintingPermissionAttribute.cs
- BamlResourceSerializer.cs
- StrokeDescriptor.cs
- listitem.cs
- Renderer.cs
- HtmlToClrEventProxy.cs
- NotFiniteNumberException.cs
- LayoutTableCell.cs
- ProxyHwnd.cs
- RequestDescription.cs
- PropertyItemInternal.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- BitmapSource.cs
- BindingSource.cs
- DataGridColumnHeadersPresenter.cs
- MoveSizeWinEventHandler.cs
- DataServiceRequestOfT.cs
- PathFigureCollection.cs
- RsaKeyIdentifierClause.cs
- MLangCodePageEncoding.cs
- Style.cs
- DataGridColumnDropSeparator.cs
- AudioBase.cs
- CompilationUnit.cs
- MemberDomainMap.cs
- ContextMenuStripActionList.cs
- MeasureData.cs
- ListDictionary.cs
- MetadataItemSerializer.cs
- BaseInfoTable.cs
- EncryptedXml.cs
- HTTPNotFoundHandler.cs
- StateMachine.cs
- LinqDataSourceSelectEventArgs.cs
- HTMLTagNameToTypeMapper.cs
- XhtmlBasicCommandAdapter.cs
- NodeFunctions.cs
- Converter.cs
- HttpCachePolicyWrapper.cs
- SpeechAudioFormatInfo.cs
- ListItem.cs
- SQLMembershipProvider.cs
- SegmentTree.cs
- ToolStripGrip.cs
- LicenseProviderAttribute.cs
- AutoResetEvent.cs
- MembershipPasswordException.cs
- Rules.cs
- HwndHostAutomationPeer.cs
- CqlIdentifiers.cs
- UrlMappingsSection.cs
- PaintValueEventArgs.cs
- AnnotationHelper.cs
- MailMessage.cs
- MDIControlStrip.cs
- StructuredTypeInfo.cs
- PenCursorManager.cs
- SafeFileMappingHandle.cs
- ControlBindingsCollection.cs
- IDispatchConstantAttribute.cs
- ChildTable.cs
- OperandQuery.cs
- Int32Rect.cs
- ImageDrawing.cs
- StackOverflowException.cs
- ExpressionVisitor.cs
- Win32SafeHandles.cs
- ConversionContext.cs
- BatchParser.cs
- PenContext.cs
- WindowsNonControl.cs
- DBSqlParserColumn.cs
- UnsafeMethods.cs
- DataGridTable.cs
- OletxVolatileEnlistment.cs
- UnmanagedMemoryStreamWrapper.cs
- StackBuilderSink.cs
- AcceleratedTokenProviderState.cs
- SpellerStatusTable.cs