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
- SectionUpdates.cs
- VariableValue.cs
- RoutingChannelExtension.cs
- GenericEnumConverter.cs
- DataControlField.cs
- DependentTransaction.cs
- TextTreeObjectNode.cs
- XmlException.cs
- CharacterHit.cs
- RelationshipSet.cs
- ScriptManagerProxy.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ColorConverter.cs
- ObjectView.cs
- DbConnectionStringCommon.cs
- BufferedGraphicsContext.cs
- LongTypeConverter.cs
- SimpleHandlerFactory.cs
- CreateUserWizardDesigner.cs
- QilDataSource.cs
- Filter.cs
- ListBindingHelper.cs
- MethodExpression.cs
- DataGridViewLayoutData.cs
- BaseTemplateParser.cs
- TabControl.cs
- PathGradientBrush.cs
- LogRecordSequence.cs
- GenericAuthenticationEventArgs.cs
- DataGridViewLayoutData.cs
- EntityDataSourceDesignerHelper.cs
- __Filters.cs
- ReturnEventArgs.cs
- XamlSerializerUtil.cs
- CSharpCodeProvider.cs
- ContainerParagraph.cs
- EntitySetBaseCollection.cs
- DoubleMinMaxAggregationOperator.cs
- DataGridSortCommandEventArgs.cs
- XmlQueryStaticData.cs
- Accessible.cs
- ObjectTag.cs
- WebPartUserCapability.cs
- UserPersonalizationStateInfo.cs
- DataServiceRequestArgs.cs
- HitTestDrawingContextWalker.cs
- SafeArrayRankMismatchException.cs
- MediaContext.cs
- SqlServer2KCompatibilityCheck.cs
- TypedElement.cs
- MessageContractMemberAttribute.cs
- ISessionStateStore.cs
- HttpCacheVary.cs
- TagPrefixAttribute.cs
- ComponentManagerBroker.cs
- SessionStateSection.cs
- AbandonedMutexException.cs
- InternalBase.cs
- FormViewDeletedEventArgs.cs
- MarginCollapsingState.cs
- ObjectAnimationBase.cs
- MasterPageParser.cs
- WindowsTokenRoleProvider.cs
- GridViewRow.cs
- IDispatchConstantAttribute.cs
- controlskin.cs
- WaitHandleCannotBeOpenedException.cs
- EncodingFallbackAwareXmlTextWriter.cs
- ClientTargetSection.cs
- WebPageTraceListener.cs
- TextBox.cs
- KeyNotFoundException.cs
- CodeVariableReferenceExpression.cs
- RightsManagementPermission.cs
- GridEntryCollection.cs
- XslNumber.cs
- HotCommands.cs
- ResXDataNode.cs
- ArgumentOutOfRangeException.cs
- RichTextBoxAutomationPeer.cs
- ValueUnavailableException.cs
- UserNamePasswordValidator.cs
- DataListItemEventArgs.cs
- DifferencingCollection.cs
- Int64Storage.cs
- MergeFailedEvent.cs
- SHA1Managed.cs
- IDispatchConstantAttribute.cs
- EventSetterHandlerConverter.cs
- FlowDocument.cs
- OutputBuffer.cs
- TextParaClient.cs
- WindowsScrollBarBits.cs
- OdbcReferenceCollection.cs
- ServicesExceptionNotHandledEventArgs.cs
- CodeDomLoader.cs
- RightNameExpirationInfoPair.cs
- CodeAttributeDeclaration.cs
- SplitContainer.cs
- DesignTimeTemplateParser.cs