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
- WindowsEditBox.cs
- HttpEncoder.cs
- HttpResponseHeader.cs
- CompModSwitches.cs
- CompoundFileDeflateTransform.cs
- SynchronizingStream.cs
- BinaryReader.cs
- UrlParameterReader.cs
- ReadOnlyDictionary.cs
- dataSvcMapFileLoader.cs
- exports.cs
- Matrix3DValueSerializer.cs
- FormatterConverter.cs
- EmissiveMaterial.cs
- PreviewPrintController.cs
- CellIdBoolean.cs
- FileNameEditor.cs
- IntMinMaxAggregationOperator.cs
- DataBindingCollectionConverter.cs
- WebPartTransformerCollection.cs
- _NestedMultipleAsyncResult.cs
- XmlResolver.cs
- QilName.cs
- ValueChangedEventManager.cs
- XpsThumbnail.cs
- List.cs
- SessionEndingEventArgs.cs
- LingerOption.cs
- KeyedHashAlgorithm.cs
- CodeDirectionExpression.cs
- HttpHandlerAction.cs
- HiddenField.cs
- RequestUriProcessor.cs
- StringAnimationBase.cs
- ResourceReferenceKeyNotFoundException.cs
- SqlMethodCallConverter.cs
- WinEventTracker.cs
- AssemblyInfo.cs
- ScrollPatternIdentifiers.cs
- XmlSequenceWriter.cs
- CustomAttributeBuilder.cs
- PropertySegmentSerializer.cs
- Pens.cs
- SHA1.cs
- DocumentViewerAutomationPeer.cs
- ImageDrawing.cs
- WebBrowserBase.cs
- LogManagementAsyncResult.cs
- MaterializeFromAtom.cs
- HGlobalSafeHandle.cs
- PropertyTabChangedEvent.cs
- XamlVector3DCollectionSerializer.cs
- WebServiceMethodData.cs
- IgnoreFlushAndCloseStream.cs
- UnauthorizedAccessException.cs
- ConstrainedDataObject.cs
- SafeReversePInvokeHandle.cs
- _HeaderInfo.cs
- SmtpLoginAuthenticationModule.cs
- Typography.cs
- QilValidationVisitor.cs
- IISMapPath.cs
- LinkClickEvent.cs
- XamlReaderHelper.cs
- DataGridSortCommandEventArgs.cs
- DivideByZeroException.cs
- RotateTransform3D.cs
- XmlTypeAttribute.cs
- GenericParameterDataContract.cs
- AnnotationMap.cs
- CompoundFileDeflateTransform.cs
- SubstitutionList.cs
- SplitContainer.cs
- InternalTypeHelper.cs
- ListViewCommandEventArgs.cs
- PermissionAttributes.cs
- ProtocolState.cs
- HWStack.cs
- RuntimeCompatibilityAttribute.cs
- NetworkInformationPermission.cs
- DictionaryTraceRecord.cs
- InputMethodStateChangeEventArgs.cs
- LinqDataSourceView.cs
- SqlTypeConverter.cs
- CookieParameter.cs
- EditorBrowsableAttribute.cs
- SR.cs
- TextEmbeddedObject.cs
- LOSFormatter.cs
- MemoryStream.cs
- InputMethodStateChangeEventArgs.cs
- BindingNavigator.cs
- ResourceCategoryAttribute.cs
- TypedTableHandler.cs
- FormViewPageEventArgs.cs
- _UncName.cs
- EdmConstants.cs
- ServiceModelEnhancedConfigurationElementCollection.cs
- XmlSchemaValidationException.cs
- CompilationLock.cs