Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / Script / Services / PageClientProxyGenerator.cs / 1305376 / PageClientProxyGenerator.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Script.Services { using System.Web; using System.Web.UI; internal class PageClientProxyGenerator : ClientProxyGenerator { private string _path; internal PageClientProxyGenerator(IPage page, bool debug) : this(VirtualPathUtility.MakeRelative(page.Request.Path, page.Request.FilePath), debug) { // Dev10 Bug 597146: Use VirtualPathUtility to build a relative path from the path to the file. // Previously just Page.Request.FilePath was used, which was for example, /app/foo/page.aspx, // but this breaks with cookieless sessions since the url is /app/foo/(sessionid)/page.aspx. // We need to make a relative path from page.Request.Path (e.g. /app/foo) to page.Request.FilePath // (e.g. /app/foo/page.aspx) rather than just strip off 'page.aspx' with Path.GetFileName, because // the url may include PathInfo, such as "/app/foo/page.aspx/pathinfo1/pathinfo2", and in that case // we need the path to be ../../page.aspx } internal PageClientProxyGenerator(string path, bool debug) { _path = path; _debugMode = debug; } internal static string GetClientProxyScript(HttpContext context, IPage page, bool debug) { // Do nothing during unit tests which have no context or page if (context == null || page == null) return null; WebServiceData webServiceData = WebServiceData.GetWebServiceData(context, page.AppRelativeVirtualPath, false /*failIfNoData*/, true /*pageMethods */); if (webServiceData == null) return null; PageClientProxyGenerator proxyGenerator = new PageClientProxyGenerator(page, debug); return proxyGenerator.GetClientProxyScript(webServiceData); } protected override void GenerateTypeDeclaration(WebServiceData webServiceData, bool genClass) { if (genClass) { _builder.Append("PageMethods.prototype = "); } else { _builder.Append("var PageMethods = "); } } protected override string GetProxyTypeName(WebServiceData data) { return "PageMethods"; } protected override string GetProxyPath() { return _path; } } } // 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
- IPEndPointCollection.cs
- TimeZoneNotFoundException.cs
- DesignerSerializationOptionsAttribute.cs
- PenThreadPool.cs
- QueryableFilterUserControl.cs
- SafeFileMappingHandle.cs
- ResourceReferenceKeyNotFoundException.cs
- HtmlTitle.cs
- RequestQueue.cs
- StatusBarPanel.cs
- MsmqInputChannelListenerBase.cs
- SizeConverter.cs
- HtmlTitle.cs
- DesignerOptionService.cs
- EntityTypeEmitter.cs
- ListView.cs
- CharConverter.cs
- InsufficientMemoryException.cs
- MimeTextImporter.cs
- path.cs
- HostVisual.cs
- AssemblyHash.cs
- RowParagraph.cs
- KeyConverter.cs
- _HeaderInfoTable.cs
- Span.cs
- SubqueryRules.cs
- EntityDataSourceEntityTypeFilterItem.cs
- XpsS0ValidatingLoader.cs
- BitmapFrameEncode.cs
- CompositionTarget.cs
- PresentationAppDomainManager.cs
- HostingEnvironmentException.cs
- WindowsImpersonationContext.cs
- SubpageParagraph.cs
- ScrollItemProviderWrapper.cs
- IUnknownConstantAttribute.cs
- WebPartDescription.cs
- ResourceProviderFactory.cs
- ZipArchive.cs
- XmlSchemaAny.cs
- TypeValidationEventArgs.cs
- CqlQuery.cs
- BuildProvider.cs
- ConnectionManagementElementCollection.cs
- SQLChars.cs
- TimeoutException.cs
- PropertyValue.cs
- EditingCommands.cs
- ADMembershipUser.cs
- JavaScriptObjectDeserializer.cs
- _AcceptOverlappedAsyncResult.cs
- TrackingServices.cs
- SqlFileStream.cs
- ActivityAction.cs
- SafeFindHandle.cs
- SortDescriptionCollection.cs
- StringUtil.cs
- IdentityManager.cs
- ProtocolsConfiguration.cs
- XmlObjectSerializer.cs
- QueryContinueDragEventArgs.cs
- WebPartTracker.cs
- RewritingPass.cs
- recordstate.cs
- Codec.cs
- ReceiveSecurityHeaderElementManager.cs
- DocumentXPathNavigator.cs
- DataViewManager.cs
- SoapFormatExtensions.cs
- HandlerFactoryWrapper.cs
- PropertyDescriptor.cs
- Shape.cs
- DataColumn.cs
- XmlnsCompatibleWithAttribute.cs
- Transform3DCollection.cs
- Object.cs
- XmlMapping.cs
- FlagsAttribute.cs
- ConsumerConnectionPoint.cs
- CrossContextChannel.cs
- StatusBarPanelClickEvent.cs
- Light.cs
- RelationshipEndCollection.cs
- EditingScope.cs
- StorageEntityTypeMapping.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- SimpleTextLine.cs
- tooltip.cs
- SchemaNames.cs
- ProfileService.cs
- Line.cs
- BindingSource.cs
- DateTimePicker.cs
- XmlSchemaSearchPattern.cs
- StringBuilder.cs
- DataContext.cs
- BehaviorEditorPart.cs
- BindingCollection.cs
- LocatorBase.cs