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
- DesignerActionItemCollection.cs
- XmlSerializer.cs
- MutexSecurity.cs
- SqlRecordBuffer.cs
- LayoutTable.cs
- SortExpressionBuilder.cs
- Page.cs
- Helpers.cs
- MeshGeometry3D.cs
- Base64Encoder.cs
- Mapping.cs
- CompositeTypefaceMetrics.cs
- UnsafeNativeMethods.cs
- GeometryModel3D.cs
- RuntimeResourceSet.cs
- SystemResourceKey.cs
- StylusEventArgs.cs
- CodeCompileUnit.cs
- RMEnrollmentPage1.cs
- SequenceDesigner.cs
- DataRelationPropertyDescriptor.cs
- AuthorizationSection.cs
- AppSettingsExpressionBuilder.cs
- WebScriptEndpoint.cs
- RegistryExceptionHelper.cs
- KnowledgeBase.cs
- PaperSource.cs
- DecoderNLS.cs
- MaskedTextBox.cs
- ConsumerConnectionPointCollection.cs
- TextParaClient.cs
- DoubleLink.cs
- ContentDisposition.cs
- DataPagerField.cs
- GridItemProviderWrapper.cs
- SymLanguageVendor.cs
- KnownAssembliesSet.cs
- ExtenderProvidedPropertyAttribute.cs
- RequestQueue.cs
- ExpressionEditorSheet.cs
- Vector3DIndependentAnimationStorage.cs
- NativeMethods.cs
- CodeBinaryOperatorExpression.cs
- OrthographicCamera.cs
- ConstraintConverter.cs
- LocalizationComments.cs
- DispatcherProcessingDisabled.cs
- CompilerInfo.cs
- PathFigureCollectionValueSerializer.cs
- IOThreadTimer.cs
- DataGridCommandEventArgs.cs
- InstanceKeyCompleteException.cs
- DecimalConstantAttribute.cs
- ReferencedAssembly.cs
- ExtensibleSyndicationObject.cs
- BitStack.cs
- ConfigurationErrorsException.cs
- BuildDependencySet.cs
- BitmapFrameEncode.cs
- SubtreeProcessor.cs
- SubpageParaClient.cs
- Line.cs
- TypeResolver.cs
- TransformCryptoHandle.cs
- DependencyPropertyAttribute.cs
- FileDataSource.cs
- XmlTypeAttribute.cs
- CodeDOMUtility.cs
- FixedHighlight.cs
- ExceptionUtil.cs
- SessionSwitchEventArgs.cs
- MethodAccessException.cs
- URLMembershipCondition.cs
- SqlFileStream.cs
- HttpModulesSection.cs
- XpsFilter.cs
- JsonXmlDataContract.cs
- ButtonChrome.cs
- ClientSettingsSection.cs
- XPathDocumentBuilder.cs
- XamlTreeBuilderBamlRecordWriter.cs
- FileVersionInfo.cs
- ClientScriptManagerWrapper.cs
- WebResponse.cs
- recordstatescratchpad.cs
- MultipartIdentifier.cs
- HttpRawResponse.cs
- DataTableTypeConverter.cs
- ScriptIgnoreAttribute.cs
- GridViewRowPresenter.cs
- BitmapEffect.cs
- MediaContext.cs
- ContractsBCL.cs
- CommandBindingCollection.cs
- RuleEngine.cs
- DataMemberAttribute.cs
- TranslateTransform.cs
- MediaPlayer.cs
- Transform.cs
- CodeVariableDeclarationStatement.cs