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
- UniqueIdentifierService.cs
- ActionFrame.cs
- PolicyLevel.cs
- CodeObject.cs
- RenderingEventArgs.cs
- PlanCompiler.cs
- XmlUtilWriter.cs
- ProfileSettings.cs
- ISAPIRuntime.cs
- CodeDomSerializationProvider.cs
- ScrollChrome.cs
- NetSectionGroup.cs
- ColorContext.cs
- IISMapPath.cs
- XmlSerializer.cs
- QilGeneratorEnv.cs
- WithStatement.cs
- RepeatButtonAutomationPeer.cs
- WmiEventSink.cs
- FactoryId.cs
- SwitchLevelAttribute.cs
- XmlSchemaAppInfo.cs
- DbBuffer.cs
- GacUtil.cs
- odbcmetadatacolumnnames.cs
- SkinBuilder.cs
- DrawingBrush.cs
- GCHandleCookieTable.cs
- ScrollEvent.cs
- ServiceContractGenerator.cs
- XPathAncestorIterator.cs
- RequestSecurityTokenResponse.cs
- Point3DCollectionValueSerializer.cs
- WebControl.cs
- ReachUIElementCollectionSerializerAsync.cs
- TextTreeInsertElementUndoUnit.cs
- Exceptions.cs
- ToolBar.cs
- HttpCacheVary.cs
- CancelEventArgs.cs
- DataRowView.cs
- JournalNavigationScope.cs
- ColorKeyFrameCollection.cs
- FixedSOMImage.cs
- CompilerLocalReference.cs
- SqlClientWrapperSmiStream.cs
- DataStreamFromComStream.cs
- BooleanStorage.cs
- RegistryKey.cs
- xml.cs
- DataPagerFieldCommandEventArgs.cs
- XamlPathDataSerializer.cs
- ConstraintEnumerator.cs
- HttpHandlersSection.cs
- JsonGlobals.cs
- Menu.cs
- SecUtil.cs
- AutoGeneratedField.cs
- NativeDirectoryServicesQueryAPIs.cs
- DateTimeFormatInfo.cs
- xdrvalidator.cs
- ArraySet.cs
- DataGridViewColumnConverter.cs
- ProcessModule.cs
- TreeViewImageIndexConverter.cs
- FixedSOMPageElement.cs
- TrackBarRenderer.cs
- WebBrowserSiteBase.cs
- PipelineModuleStepContainer.cs
- Semaphore.cs
- SqlGatherProducedAliases.cs
- EventBookmark.cs
- EncodingInfo.cs
- HighlightComponent.cs
- TextBox.cs
- TdsEnums.cs
- WindowsStatic.cs
- SqlTriggerAttribute.cs
- SqlSelectStatement.cs
- Point4D.cs
- InkCanvasInnerCanvas.cs
- UrlPath.cs
- ComponentEditorPage.cs
- DataSourceView.cs
- RightsManagementResourceHelper.cs
- _SslStream.cs
- ServicePoint.cs
- FixedSOMTableRow.cs
- SafeRightsManagementSessionHandle.cs
- RelatedCurrencyManager.cs
- ActivityWithResultConverter.cs
- ControlDesigner.cs
- login.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- DrawListViewColumnHeaderEventArgs.cs
- CodeArrayIndexerExpression.cs
- RegistryKey.cs
- EditCommandColumn.cs
- Buffer.cs
- Message.cs