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
- ToolTipService.cs
- RequiredAttributeAttribute.cs
- XmlNodeList.cs
- HttpHandlerAction.cs
- TextRangeEdit.cs
- HTTPRemotingHandler.cs
- PathFigureCollectionConverter.cs
- BinaryObjectReader.cs
- RtfNavigator.cs
- DateTimeFormatInfo.cs
- AttributeUsageAttribute.cs
- BrowserInteropHelper.cs
- SQLResource.cs
- RegexCapture.cs
- _SingleItemRequestCache.cs
- SoapSchemaMember.cs
- SmtpNtlmAuthenticationModule.cs
- LocalFileSettingsProvider.cs
- FlowLayoutSettings.cs
- Invariant.cs
- EditorPartCollection.cs
- CriticalHandle.cs
- GridViewHeaderRowPresenter.cs
- AnnotationAdorner.cs
- DataBinding.cs
- Point3DAnimation.cs
- _Rfc2616CacheValidators.cs
- WebPartActionVerb.cs
- CorrelationService.cs
- InboundActivityHelper.cs
- LeaseManager.cs
- JsonDeserializer.cs
- XmlSerializationReader.cs
- MeasurementDCInfo.cs
- DelimitedListTraceListener.cs
- TagMapCollection.cs
- AsyncResult.cs
- SystemIcmpV4Statistics.cs
- ProjectionPlanCompiler.cs
- ChangeTracker.cs
- AnonymousIdentificationSection.cs
- MultipartIdentifier.cs
- Font.cs
- ConstrainedDataObject.cs
- SubstitutionList.cs
- AnnotationHelper.cs
- OrderedDictionary.cs
- CodeTypeMember.cs
- ExclusiveTcpTransportManager.cs
- RegionInfo.cs
- SmiEventSink_Default.cs
- RequestCacheEntry.cs
- ListBox.cs
- EventTask.cs
- HttpStreams.cs
- TextOutput.cs
- ElapsedEventArgs.cs
- OdbcPermission.cs
- DictationGrammar.cs
- DataSourceHelper.cs
- AspCompat.cs
- DataGridViewDesigner.cs
- DetailsViewUpdateEventArgs.cs
- SrgsGrammarCompiler.cs
- HtmlElementEventArgs.cs
- SafeHandles.cs
- CopyAttributesAction.cs
- QilGenerator.cs
- SqlFormatter.cs
- ExceptionHelpers.cs
- PropertyGeneratedEventArgs.cs
- ResourcePool.cs
- MethodSet.cs
- wmiprovider.cs
- PropertyEmitter.cs
- xmlfixedPageInfo.cs
- basecomparevalidator.cs
- ForeignConstraint.cs
- ItemMap.cs
- PropagatorResult.cs
- ServiceModelSecurityTokenRequirement.cs
- AutoResizedEvent.cs
- BuildProviderCollection.cs
- AppSecurityManager.cs
- ValidatorCompatibilityHelper.cs
- PropertyTab.cs
- HtmlTextArea.cs
- Freezable.cs
- DefaultClaimSet.cs
- MappingItemCollection.cs
- CompiledAction.cs
- NullableFloatMinMaxAggregationOperator.cs
- CalculatedColumn.cs
- SqlClientWrapperSmiStreamChars.cs
- IdleTimeoutMonitor.cs
- CollectionConverter.cs
- SqlConnectionStringBuilder.cs
- ToolBar.cs
- TextViewBase.cs
- PageStatePersister.cs