Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / ManagedLibraries / Remoting / Channels / IPC / IpcChannelHelper.cs / 1305376 / IpcChannelHelper.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //========================================================================== // File: IpcChannelHelper.cs // Author: [....]@Microsoft.Com // Summary: Implements helper methods for Ipc client and server channels. // //========================================================================= using System; using System.IO; using System.Collections; using System.Runtime.Remoting.Channels; namespace System.Runtime.Remoting.Channels.Ipc { internal static class IpcChannelHelper { private const String _ipc = "ipc://"; // see if the string starts with "ipc://" internal static bool StartsWithIpc(String url) { return StringHelper.StartsWithAsciiIgnoreCasePrefixLower(url, _ipc); } // StartsWithIpc // Used by Ipc 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) { if (url == null) throw new ArgumentNullException("url"); // Set the out parameters objectURI = null; int separator; // Find the starting point of ipc:// // NOTE: We are using this version of String.Compare to ensure // that string operations are case-insensitive!! if (StartsWithIpc(url)) { separator = _ipc.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 "Ipc://foo" 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 IpcChannelHelper } // namespace System.Runtime.Remoting.Channels.Ipc // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //========================================================================== // File: IpcChannelHelper.cs // Author: [....]@Microsoft.Com // Summary: Implements helper methods for Ipc client and server channels. // //========================================================================= using System; using System.IO; using System.Collections; using System.Runtime.Remoting.Channels; namespace System.Runtime.Remoting.Channels.Ipc { internal static class IpcChannelHelper { private const String _ipc = "ipc://"; // see if the string starts with "ipc://" internal static bool StartsWithIpc(String url) { return StringHelper.StartsWithAsciiIgnoreCasePrefixLower(url, _ipc); } // StartsWithIpc // Used by Ipc 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) { if (url == null) throw new ArgumentNullException("url"); // Set the out parameters objectURI = null; int separator; // Find the starting point of ipc:// // NOTE: We are using this version of String.Compare to ensure // that string operations are case-insensitive!! if (StartsWithIpc(url)) { separator = _ipc.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 "Ipc://foo" 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 IpcChannelHelper } // namespace System.Runtime.Remoting.Channels.Ipc // 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
- EventTask.cs
- DocumentsTrace.cs
- AssociationSetEnd.cs
- NavigatorOutput.cs
- CqlParser.cs
- XmlSchemaType.cs
- DataGridRowHeaderAutomationPeer.cs
- TextDecorationCollection.cs
- ControlBuilder.cs
- InputGestureCollection.cs
- Label.cs
- CodeSnippetTypeMember.cs
- SystemWebSectionGroup.cs
- Stackframe.cs
- DayRenderEvent.cs
- PageThemeParser.cs
- OracleBFile.cs
- LineInfo.cs
- UndoManager.cs
- _SafeNetHandles.cs
- Vars.cs
- PointConverter.cs
- ZoneMembershipCondition.cs
- ControlParameter.cs
- DataSourceCacheDurationConverter.cs
- SamlSubjectStatement.cs
- TreeNodeBindingCollection.cs
- InvalidProgramException.cs
- AbstractDataSvcMapFileLoader.cs
- C14NUtil.cs
- HtmlInputText.cs
- WebPartConnectionCollection.cs
- ChannelSinkStacks.cs
- ColorAnimationUsingKeyFrames.cs
- MessageBox.cs
- CatalogZoneBase.cs
- Command.cs
- mil_commands.cs
- HtmlEncodedRawTextWriter.cs
- EventDescriptor.cs
- SmiContextFactory.cs
- wgx_commands.cs
- SymbolMethod.cs
- NewExpression.cs
- __TransparentProxy.cs
- Executor.cs
- NetworkStream.cs
- FilteredReadOnlyMetadataCollection.cs
- OdbcEnvironmentHandle.cs
- ApplicationServiceManager.cs
- AutomationIdentifier.cs
- RectAnimation.cs
- PointLight.cs
- ListBoxItem.cs
- StringArrayConverter.cs
- CommonDialog.cs
- NamespaceEmitter.cs
- FileInfo.cs
- StrokeCollection2.cs
- oledbmetadatacollectionnames.cs
- UnauthorizedAccessException.cs
- ManagementObject.cs
- WindowsRichEditRange.cs
- Publisher.cs
- DllHostInitializer.cs
- XPathException.cs
- BrowserCapabilitiesCodeGenerator.cs
- FormsAuthenticationEventArgs.cs
- UnsafeNativeMethods.cs
- TypeTypeConverter.cs
- DataTableExtensions.cs
- SpeechAudioFormatInfo.cs
- EncryptedPackageFilter.cs
- RegexMatch.cs
- XPathMessageFilterElementComparer.cs
- Main.cs
- DBCommandBuilder.cs
- uribuilder.cs
- DataServiceContext.cs
- XmlFormatMapping.cs
- ConfigXmlComment.cs
- wmiprovider.cs
- ZipArchive.cs
- SchemaInfo.cs
- IndexerNameAttribute.cs
- NumericUpDown.cs
- FastEncoderWindow.cs
- HttpErrorTraceRecord.cs
- FlowDocument.cs
- ColumnMapCopier.cs
- mediaeventargs.cs
- ActivityCollectionMarkupSerializer.cs
- HttpWebRequest.cs
- ExceptionUtility.cs
- CorePropertiesFilter.cs
- ScriptingWebServicesSectionGroup.cs
- HttpValueCollection.cs
- Binding.cs
- HMAC.cs
- Range.cs