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
- ModifierKeysValueSerializer.cs
- ThemeDictionaryExtension.cs
- OdbcEnvironment.cs
- MaterialCollection.cs
- RangeValueProviderWrapper.cs
- Triplet.cs
- TextRangeEdit.cs
- HotSpotCollection.cs
- KerberosSecurityTokenProvider.cs
- PageThemeParser.cs
- KeyEventArgs.cs
- Base64WriteStateInfo.cs
- WindowsListViewItemCheckBox.cs
- PersonalizationStateInfoCollection.cs
- WhereaboutsReader.cs
- TemplateXamlParser.cs
- ParallelEnumerable.cs
- StateManagedCollection.cs
- SafeNativeMethods.cs
- PerformanceCounter.cs
- pingexception.cs
- PointKeyFrameCollection.cs
- WebPartTransformerAttribute.cs
- CharEnumerator.cs
- CompilerCollection.cs
- ISFClipboardData.cs
- XmlSchemaAppInfo.cs
- updateconfighost.cs
- processwaithandle.cs
- DateTime.cs
- SoapExtensionTypeElementCollection.cs
- _AutoWebProxyScriptEngine.cs
- ClientUrlResolverWrapper.cs
- ProxyWebPartManager.cs
- MessageContractAttribute.cs
- relpropertyhelper.cs
- OperationCanceledException.cs
- ToolBarButton.cs
- EdmTypeAttribute.cs
- MetadataExporter.cs
- LogLogRecord.cs
- ThaiBuddhistCalendar.cs
- milexports.cs
- RequiredFieldValidator.cs
- GeneralTransform3DGroup.cs
- CqlParserHelpers.cs
- TraceListeners.cs
- XamlWrappingReader.cs
- ConnectionsZone.cs
- SmtpNegotiateAuthenticationModule.cs
- XmlParserContext.cs
- AnimationStorage.cs
- DataRowCollection.cs
- XmlSchemaCompilationSettings.cs
- EraserBehavior.cs
- HtmlInputPassword.cs
- FilePrompt.cs
- ComplexType.cs
- StyleBamlTreeBuilder.cs
- KeySplineConverter.cs
- FontConverter.cs
- BigInt.cs
- AppDomainGrammarProxy.cs
- PreservationFileReader.cs
- PermissionSet.cs
- FileUpload.cs
- BindingList.cs
- COSERVERINFO.cs
- DataGridViewIntLinkedList.cs
- RegistryKey.cs
- AnnotationHighlightLayer.cs
- BooleanSwitch.cs
- Stack.cs
- AssemblyLoader.cs
- SchemaMapping.cs
- DrawListViewColumnHeaderEventArgs.cs
- CodeMemberField.cs
- ValidationUtility.cs
- InfocardChannelParameter.cs
- HttpHeaderCollection.cs
- CallTemplateAction.cs
- PasswordDeriveBytes.cs
- RealProxy.cs
- XmlHierarchicalEnumerable.cs
- SqlTypeConverter.cs
- PreservationFileReader.cs
- ViewStateModeByIdAttribute.cs
- DataAdapter.cs
- XhtmlTextWriter.cs
- IdentifierElement.cs
- InputScope.cs
- RangeValuePattern.cs
- AbstractSvcMapFileLoader.cs
- FormViewRow.cs
- ComponentRenameEvent.cs
- ServiceDiscoveryBehavior.cs
- PhysicalOps.cs
- RectangleGeometry.cs
- MethodImplAttribute.cs
- BitmapImage.cs