Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / ManagedLibraries / Remoting / Channels / TCP / TcpChannelHelper.cs / 1305376 / TcpChannelHelper.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //========================================================================== // File: TcpChannelHelper.cs // // Summary: Implements helper methods for tcp client and server channels. // //========================================================================= using System; using System.Text; using System.Runtime.Remoting.Channels; namespace System.Runtime.Remoting.Channels.Tcp { internal static class TcpChannelHelper { private const String _tcp = "tcp://"; // Used by tcp channels to implement IChannel::Parse. // It returns the channel uri and places object uri into out parameter. internal static String ParseURL(String url, out String objectURI) { // Set the out parameters objectURI = null; int separator; // Find the starting point of tcp:// // NOTE: We are using this version of String.Compare to ensure // that string operations are case-insensitive!! if (StringHelper.StartsWithAsciiIgnoreCasePrefixLower(url, _tcp)) { separator = _tcp.Length; } else { return null; } // find next slash (after end of scheme) separator = url.IndexOf('/', separator); if (-1 == separator) { return url; // means that the url is just "tcp://foo:90" or something like that } // Extract the channel URI which is the prefix String channelURI = url.Substring(0, separator); // Extract the object URI which is the suffix objectURI = url.Substring(separator); // leave the slash return channelURI; } // ParseURL } // class TcpChannelHelper } // namespace System.Runtime.Remoting.Channels.Tcp // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //========================================================================== // File: TcpChannelHelper.cs // // Summary: Implements helper methods for tcp client and server channels. // //========================================================================= using System; using System.Text; using System.Runtime.Remoting.Channels; namespace System.Runtime.Remoting.Channels.Tcp { internal static class TcpChannelHelper { private const String _tcp = "tcp://"; // Used by tcp channels to implement IChannel::Parse. // It returns the channel uri and places object uri into out parameter. internal static String ParseURL(String url, out String objectURI) { // Set the out parameters objectURI = null; int separator; // Find the starting point of tcp:// // NOTE: We are using this version of String.Compare to ensure // that string operations are case-insensitive!! if (StringHelper.StartsWithAsciiIgnoreCasePrefixLower(url, _tcp)) { separator = _tcp.Length; } else { return null; } // find next slash (after end of scheme) separator = url.IndexOf('/', separator); if (-1 == separator) { return url; // means that the url is just "tcp://foo:90" or something like that } // Extract the channel URI which is the prefix String channelURI = url.Substring(0, separator); // Extract the object URI which is the suffix objectURI = url.Substring(separator); // leave the slash return channelURI; } // ParseURL } // class TcpChannelHelper } // namespace System.Runtime.Remoting.Channels.Tcp // 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
- SqlCommandSet.cs
- SnapLine.cs
- ProjectionNode.cs
- XmlParserContext.cs
- ObjectContext.cs
- FrameworkContentElementAutomationPeer.cs
- DataSourceIDConverter.cs
- _IPv4Address.cs
- ArrayMergeHelper.cs
- SamlNameIdentifierClaimResource.cs
- CharAnimationBase.cs
- RealProxy.cs
- FragmentNavigationEventArgs.cs
- ReadWriteSpinLock.cs
- CodeSnippetTypeMember.cs
- WindowsTab.cs
- XamlPointCollectionSerializer.cs
- ColumnWidthChangingEvent.cs
- FormViewAutoFormat.cs
- MaskInputRejectedEventArgs.cs
- ComplusTypeValidator.cs
- AttributeUsageAttribute.cs
- PopupRootAutomationPeer.cs
- CngKey.cs
- ForEachAction.cs
- ProgressBar.cs
- DeploymentSection.cs
- TreeViewImageIndexConverter.cs
- DecoderFallback.cs
- EditorPartChrome.cs
- ProxySimple.cs
- TypeForwardedToAttribute.cs
- DataSourceConverter.cs
- TextServicesCompartmentEventSink.cs
- BinaryParser.cs
- PortCache.cs
- FileDialogCustomPlacesCollection.cs
- GridViewEditEventArgs.cs
- KeyedByTypeCollection.cs
- ScriptingRoleServiceSection.cs
- log.cs
- LightweightCodeGenerator.cs
- Pool.cs
- AmbiguousMatchException.cs
- UInt64Converter.cs
- BitmapImage.cs
- WebServiceParameterData.cs
- XPathSelfQuery.cs
- HandledEventArgs.cs
- TransportDefaults.cs
- ClientRuntimeConfig.cs
- _AcceptOverlappedAsyncResult.cs
- ActivationServices.cs
- ArcSegment.cs
- Cursors.cs
- RepeatBehaviorConverter.cs
- NameValueSectionHandler.cs
- TransportConfigurationTypeElementCollection.cs
- ObjectDataSourceDisposingEventArgs.cs
- RenderCapability.cs
- KeyValuePair.cs
- Context.cs
- RelativeSource.cs
- TimestampInformation.cs
- DoubleCollectionConverter.cs
- WebPartActionVerb.cs
- SplineKeyFrames.cs
- SqlBuffer.cs
- IsolatedStorage.cs
- safelinkcollection.cs
- JumpList.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- SourceElementsCollection.cs
- SourceElementsCollection.cs
- InstancePersistenceContext.cs
- ObjectSelectorEditor.cs
- CompositeActivityMarkupSerializer.cs
- RtfFormatStack.cs
- ToolStripItemImageRenderEventArgs.cs
- XmlSiteMapProvider.cs
- FontSource.cs
- StylusLogic.cs
- SubtreeProcessor.cs
- WebServiceReceive.cs
- DecoderNLS.cs
- SignedInfo.cs
- MenuItemCollection.cs
- RelationshipNavigation.cs
- ListControl.cs
- OLEDB_Enum.cs
- Type.cs
- SqlRemoveConstantOrderBy.cs
- UnsafeNativeMethodsTablet.cs
- ItemsChangedEventArgs.cs
- SqlNode.cs
- SQLInt64.cs
- LookupNode.cs
- FormsAuthenticationConfiguration.cs
- Not.cs
- ProcessHostFactoryHelper.cs