Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / System.ServiceModel.Activation / System / ServiceModel / Activation / ServiceRoute.cs / 1305376 / ServiceRoute.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Activation { using System; using System.Globalization; using System.Web.Routing; public class ServiceRoute : Route { internal const string LeftCurlyBracket = "{"; internal const string RightCurlyBracket = "}"; internal const string UnmatchedPathSegment = "{*pathInfo}"; internal const char PathSeperator = '/'; public ServiceRoute(string routePrefix, ServiceHostFactoryBase serviceHostFactory, Type serviceType) : base(CheckAndCreateRouteString(routePrefix), new ServiceRouteHandler(routePrefix, serviceHostFactory, serviceType)) { if (TD.AspNetRouteIsEnabled()) { TD.AspNetRoute(routePrefix, serviceType.AssemblyQualifiedName, serviceHostFactory.GetType().AssemblyQualifiedName); } } static string CheckAndCreateRouteString(string routePrefix) { // aspnet routing integration is supported only under aspnet compat mode ServiceHostingEnvironment.EnsureInitialized(); if (!ServiceHostingEnvironment.AspNetCompatibilityEnabled) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.Hosting_RouteServiceRequiresCompatibilityMode)); } // we support emptystring as routeprfix as aspnet allows it if (routePrefix == null) { throw FxTrace.Exception.ArgumentNull("routePrefix"); } else if (routePrefix.Contains(LeftCurlyBracket) || routePrefix.Contains(RightCurlyBracket)) { throw FxTrace.Exception.Argument("routePrefix", SR.Hosting_CurlyBracketFoundInRoutePrefix("{", "}")); } if(routePrefix.EndsWith(PathSeperator.ToString(), StringComparison.CurrentCultureIgnoreCase) || routePrefix.Equals(String.Empty, StringComparison.CurrentCultureIgnoreCase)) { routePrefix = string.Format(CultureInfo.CurrentCulture, "{0}{1}", routePrefix, UnmatchedPathSegment); } else { routePrefix = string.Format(CultureInfo.CurrentCulture, "{0}/{1}", routePrefix, UnmatchedPathSegment); } return routePrefix; } } } // 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
- InvalidCommandTreeException.cs
- MD5.cs
- DetailsViewUpdatedEventArgs.cs
- ObjectKeyFrameCollection.cs
- HttpHandlersInstallComponent.cs
- CannotUnloadAppDomainException.cs
- DataStreams.cs
- HttpWriter.cs
- EventLogWatcher.cs
- DBSqlParserTableCollection.cs
- dataobject.cs
- XmlQuerySequence.cs
- ValidatorAttribute.cs
- RegexReplacement.cs
- PageCanvasSize.cs
- MemoryRecordBuffer.cs
- DataGridViewCellCollection.cs
- CodeObject.cs
- AnnotationHelper.cs
- EncoderParameter.cs
- FileUtil.cs
- ImageClickEventArgs.cs
- SoapReflectionImporter.cs
- Activator.cs
- WriteTimeStream.cs
- SerialPort.cs
- PointConverter.cs
- Attributes.cs
- IdnMapping.cs
- XmlMembersMapping.cs
- SafeRightsManagementSessionHandle.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- CapabilitiesUse.cs
- BaseCodePageEncoding.cs
- ToolboxComponentsCreatingEventArgs.cs
- Guid.cs
- SqlCacheDependency.cs
- PropVariant.cs
- KnownColorTable.cs
- ListBindingHelper.cs
- DrawToolTipEventArgs.cs
- RepeaterItemCollection.cs
- __ConsoleStream.cs
- DataGridViewCellLinkedList.cs
- ApplicationServiceManager.cs
- _ListenerRequestStream.cs
- CodeTypeMember.cs
- Viewport3DAutomationPeer.cs
- ExpressionConverter.cs
- XmlWellformedWriter.cs
- _TimerThread.cs
- TextTreeTextElementNode.cs
- GridViewPageEventArgs.cs
- WinHttpWebProxyFinder.cs
- EtwTrace.cs
- BooleanToVisibilityConverter.cs
- ChameleonKey.cs
- MetadataCacheItem.cs
- TrackBarRenderer.cs
- Viewport2DVisual3D.cs
- CompoundFileStorageReference.cs
- SmtpClient.cs
- ElementHost.cs
- TextOptionsInternal.cs
- CryptoStream.cs
- MetadataFile.cs
- XamlSerializerUtil.cs
- XhtmlBasicImageAdapter.cs
- StandardBindingReliableSessionElement.cs
- NumberFormatInfo.cs
- MimeBasePart.cs
- CodeConstructor.cs
- RoleManagerEventArgs.cs
- ScopeCompiler.cs
- Vector.cs
- PngBitmapDecoder.cs
- DbConnectionPoolGroup.cs
- RemoteWebConfigurationHost.cs
- webproxy.cs
- ThreadAbortException.cs
- EventLogEntryCollection.cs
- PresentationSource.cs
- DataIdProcessor.cs
- ReadOnlyDictionary.cs
- PeerSecurityHelpers.cs
- EnumValidator.cs
- IIS7ConfigurationLoader.cs
- ProbeDuplexAsyncResult.cs
- DateTimeStorage.cs
- EncryptedKeyHashIdentifierClause.cs
- ToolStripControlHost.cs
- OdbcConnection.cs
- XmlStreamNodeWriter.cs
- Table.cs
- MasterPageBuildProvider.cs
- WindowsContainer.cs
- SpoolingTask.cs
- ForeignKeyConstraint.cs
- CapabilitiesRule.cs
- AstNode.cs