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
- EntityWithKeyStrategy.cs
- TimeoutHelper.cs
- FrameDimension.cs
- ValueProviderWrapper.cs
- RegisteredDisposeScript.cs
- DataGridTablesFactory.cs
- PeerTransportCredentialType.cs
- _NegoStream.cs
- DashStyles.cs
- TypeExtensionConverter.cs
- WSTransactionSection.cs
- BindingObserver.cs
- DetailsViewRowCollection.cs
- SqlException.cs
- WebPartTransformer.cs
- SkinBuilder.cs
- NetPeerTcpBindingElement.cs
- EngineSite.cs
- ScaleTransform.cs
- DataGridViewCellStateChangedEventArgs.cs
- GridSplitter.cs
- EditorBrowsableAttribute.cs
- PerfCounterSection.cs
- WSAddressing10ProblemHeaderQNameFault.cs
- CapabilitiesSection.cs
- FormsIdentity.cs
- DynamicScriptObject.cs
- DataSourceXmlSubItemAttribute.cs
- AsyncContentLoadedEventArgs.cs
- StrokeCollection.cs
- ComplexTypeEmitter.cs
- XmlSecureResolver.cs
- ImpersonateTokenRef.cs
- PrimitiveXmlSerializers.cs
- Validator.cs
- NotificationContext.cs
- DeferredBinaryDeserializerExtension.cs
- PartitionResolver.cs
- SynchronizationFilter.cs
- InlineObject.cs
- CompiledRegexRunnerFactory.cs
- DeviceSpecific.cs
- WebPageTraceListener.cs
- MultipleViewProviderWrapper.cs
- PointValueSerializer.cs
- XmlBinaryReader.cs
- UnionCqlBlock.cs
- MouseActionValueSerializer.cs
- Constants.cs
- VisualStyleRenderer.cs
- ProxyFragment.cs
- DateTimeFormatInfoScanner.cs
- ContentDisposition.cs
- ColorContextHelper.cs
- ServiceOperation.cs
- MatchSingleFxEngineOpcode.cs
- ResourcePool.cs
- ColumnResult.cs
- ObjectAnimationBase.cs
- DesignerLoader.cs
- ObjectListDataBindEventArgs.cs
- SecurityManager.cs
- BaseValidator.cs
- MemberAccessException.cs
- AutoResizedEvent.cs
- GeneralTransform2DTo3DTo2D.cs
- _AutoWebProxyScriptEngine.cs
- XmlSchemaSet.cs
- AutomationTextAttribute.cs
- NTAccount.cs
- FixedSOMPageConstructor.cs
- HorizontalAlignConverter.cs
- LicenseContext.cs
- updatecommandorderer.cs
- DependencyPropertyHelper.cs
- ResourcePermissionBaseEntry.cs
- CreatingCookieEventArgs.cs
- ParameterModifier.cs
- Buffer.cs
- SqlException.cs
- ToolStripItemRenderEventArgs.cs
- _DisconnectOverlappedAsyncResult.cs
- ScrollChangedEventArgs.cs
- DefaultTextStoreTextComposition.cs
- XmlCharType.cs
- FixedDocumentSequencePaginator.cs
- DesignerActionUI.cs
- CancellableEnumerable.cs
- ConstructorExpr.cs
- XmlCountingReader.cs
- DynamicObjectAccessor.cs
- DataServiceQueryProvider.cs
- SettingsAttributeDictionary.cs
- FormattedTextSymbols.cs
- ContextMarshalException.cs
- RouteItem.cs
- ValidatorCompatibilityHelper.cs
- DetailsViewCommandEventArgs.cs
- GenericWebPart.cs
- IISUnsafeMethods.cs