Code:
/ DotNET / DotNET / 8.0 / untmp / Orcas / RTM / ndp / fx / src / xsp / System / Web / Extensions / Script / Services / RestHandlerFactory.cs / 1 / RestHandlerFactory.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Script.Services { internal class RestHandlerFactory : IHttpHandlerFactory { internal const string ClientProxyRequestPathInfo = "/js"; internal const string ClientDebugProxyRequestPathInfo = "/jsdebug"; public virtual IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated) { if (context == null) { throw new ArgumentNullException("context"); } if (IsClientProxyRequest(context.Request.PathInfo)) { // It's a request for client side proxies return new RestClientProxyHandler(); } else { // The request is an actual call to a server method return RestHandler.CreateHandler(context); } } public virtual void ReleaseHandler(IHttpHandler handler) { } // Detects if this is a request we want to intercept, i.e. invocation or proxy request internal static bool IsRestRequest(HttpContext context) { return IsRestMethodCall(context.Request) || IsClientProxyRequest(context.Request.PathInfo); } // Detects if this is a method invocation, i.e. webservice call or page method call internal static bool IsRestMethodCall(HttpRequest request) { return !String.IsNullOrEmpty(request.PathInfo) && (request.ContentType.StartsWith("application/json;", StringComparison.OrdinalIgnoreCase) || string.Equals(request.ContentType, "application/json", StringComparison.OrdinalIgnoreCase)); } internal static bool IsClientProxyDebugRequest(string pathInfo) { return string.Equals(pathInfo, ClientDebugProxyRequestPathInfo, StringComparison.OrdinalIgnoreCase); } internal static bool IsClientProxyRequest(string pathInfo) { return (string.Equals(pathInfo, ClientProxyRequestPathInfo, StringComparison.OrdinalIgnoreCase) || IsClientProxyDebugRequest(pathInfo)); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlReferenceCollection.cs
- XPathItem.cs
- TemplatePropertyEntry.cs
- SerializationSectionGroup.cs
- ParallelTimeline.cs
- EntityProxyFactory.cs
- DispatcherTimer.cs
- DataGridViewIntLinkedList.cs
- AssociationTypeEmitter.cs
- InteropExecutor.cs
- ActivityBuilderHelper.cs
- ChangeDirector.cs
- ScriptingAuthenticationServiceSection.cs
- Facet.cs
- SafeRightsManagementHandle.cs
- SrgsNameValueTag.cs
- DataGridParentRows.cs
- SoapAttributeAttribute.cs
- XmlILIndex.cs
- DataBoundControl.cs
- TransactionContextValidator.cs
- StartUpEventArgs.cs
- SelectionProcessor.cs
- FileDialogCustomPlace.cs
- TraceContext.cs
- DataService.cs
- DataRelationCollection.cs
- IsolatedStorage.cs
- StringAnimationBase.cs
- httpapplicationstate.cs
- ProcessModelSection.cs
- MergablePropertyAttribute.cs
- MappedMetaModel.cs
- SQLMembershipProvider.cs
- SqlProviderServices.cs
- HyperLinkDesigner.cs
- ConstraintEnumerator.cs
- SingleBodyParameterMessageFormatter.cs
- MetaForeignKeyColumn.cs
- XamlTypeMapper.cs
- ValidatorCollection.cs
- PolyBezierSegmentFigureLogic.cs
- SQLConvert.cs
- ImageCodecInfo.cs
- CompressedStack.cs
- RemotingException.cs
- XPathEmptyIterator.cs
- AutoResetEvent.cs
- TreeView.cs
- Console.cs
- ExpressionVisitor.cs
- ThreadExceptionDialog.cs
- ClientRuntimeConfig.cs
- XPathChildIterator.cs
- WebPartMenu.cs
- ComplusTypeValidator.cs
- LZCodec.cs
- ExpressionPrefixAttribute.cs
- codemethodreferenceexpression.cs
- HttpBrowserCapabilitiesBase.cs
- BatchWriter.cs
- PerformanceCountersElement.cs
- X509Certificate2Collection.cs
- ThousandthOfEmRealDoubles.cs
- CornerRadius.cs
- SqlDuplicator.cs
- StringDictionary.cs
- UpdateCommand.cs
- Accessible.cs
- NativeMethods.cs
- EntityType.cs
- RadioButtonFlatAdapter.cs
- DesignerDataRelationship.cs
- CurrencyWrapper.cs
- WebScriptClientGenerator.cs
- altserialization.cs
- PerformanceCounterNameAttribute.cs
- LiteralDesigner.cs
- SubMenuStyleCollection.cs
- ErrorWrapper.cs
- BeginStoryboard.cs
- DataSourceSelectArguments.cs
- XmlTextEncoder.cs
- ApplicationBuildProvider.cs
- IOException.cs
- Root.cs
- _Connection.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- ApplicationFileParser.cs
- XmlAnyElementAttributes.cs
- CodeExporter.cs
- Timer.cs
- OrCondition.cs
- TransformedBitmap.cs
- UndoEngine.cs
- BStrWrapper.cs
- OdbcConnectionString.cs
- DateTimeFormat.cs
- PropagatorResult.cs
- CorrelationKeyCalculator.cs