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
- ClonableStack.cs
- SerialPinChanges.cs
- SchemaElement.cs
- PersonalizationProviderHelper.cs
- UnmanagedBitmapWrapper.cs
- HtmlTableRowCollection.cs
- RunWorkerCompletedEventArgs.cs
- ScrollItemProviderWrapper.cs
- ColumnMapVisitor.cs
- MessageDirection.cs
- PropertyReferenceSerializer.cs
- SortDescription.cs
- PartManifestEntry.cs
- StringSource.cs
- FixedTextContainer.cs
- CultureInfo.cs
- TabRenderer.cs
- ADMembershipProvider.cs
- Equal.cs
- SQLRoleProvider.cs
- ContractDescription.cs
- WindowsListViewGroup.cs
- MULTI_QI.cs
- WindowsButton.cs
- OleDbRowUpdatedEvent.cs
- ReadOnlyMetadataCollection.cs
- Size3DValueSerializer.cs
- WebPartZoneCollection.cs
- TableCell.cs
- Wildcard.cs
- InputLanguageManager.cs
- XmlSchemaAnyAttribute.cs
- WSAddressing10ProblemHeaderQNameFault.cs
- DbConvert.cs
- SQLMoneyStorage.cs
- PreDigestedSignedInfo.cs
- TaskHelper.cs
- TextSelectionHighlightLayer.cs
- SettingsContext.cs
- QuaternionRotation3D.cs
- ScriptControlDescriptor.cs
- OracleNumber.cs
- TemplatingOptionsDialog.cs
- MarkupWriter.cs
- ControlBuilder.cs
- MimeTextImporter.cs
- MergePropertyDescriptor.cs
- ResourcesBuildProvider.cs
- CommentEmitter.cs
- DataReceivedEventArgs.cs
- DBParameter.cs
- DocumentGridPage.cs
- ToolStripDropDown.cs
- COAUTHINFO.cs
- TaiwanLunisolarCalendar.cs
- GroupByExpressionRewriter.cs
- AuthenticationModuleElementCollection.cs
- ComponentConverter.cs
- NonSerializedAttribute.cs
- StylusPointProperties.cs
- LoadWorkflowCommand.cs
- AliasGenerator.cs
- AppendHelper.cs
- LogFlushAsyncResult.cs
- Barrier.cs
- XmlNullResolver.cs
- SchemaCollectionPreprocessor.cs
- GeometryHitTestParameters.cs
- MessageLoggingElement.cs
- DocumentViewerBase.cs
- XamlPoint3DCollectionSerializer.cs
- SerializerProvider.cs
- SizeAnimation.cs
- PinnedBufferMemoryStream.cs
- HostProtectionPermission.cs
- BinaryObjectWriter.cs
- View.cs
- EntitySetBase.cs
- QueryContinueDragEvent.cs
- TextParagraphProperties.cs
- FormsAuthenticationTicket.cs
- BamlRecordWriter.cs
- Object.cs
- CollectionViewSource.cs
- ShaperBuffers.cs
- DesignerActionKeyboardBehavior.cs
- StaticExtensionConverter.cs
- VBIdentifierDesigner.xaml.cs
- RowCache.cs
- PenLineJoinValidation.cs
- SqlDependencyUtils.cs
- Propagator.JoinPropagator.cs
- UriExt.cs
- PackageDigitalSignature.cs
- ImageMapEventArgs.cs
- AppDomainManager.cs
- ConfigXmlWhitespace.cs
- Utils.cs
- DockAndAnchorLayout.cs
- Options.cs