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
- MailMessageEventArgs.cs
- BlobPersonalizationState.cs
- COM2Properties.cs
- CodeDomConfigurationHandler.cs
- EventProviderBase.cs
- Soap11ServerProtocol.cs
- MapPathBasedVirtualPathProvider.cs
- HwndAppCommandInputProvider.cs
- HitTestParameters3D.cs
- Rotation3DAnimation.cs
- CodeTypeConstructor.cs
- AppSettingsExpressionEditor.cs
- CssStyleCollection.cs
- InvalidPrinterException.cs
- DiscoveryEndpoint.cs
- latinshape.cs
- Connector.cs
- DocumentCollection.cs
- ToolStripPanelRow.cs
- MetadataPropertyvalue.cs
- MimeTypeAttribute.cs
- ProfileGroupSettingsCollection.cs
- ToolConsole.cs
- tooltip.cs
- NumericPagerField.cs
- StringValidatorAttribute.cs
- PolyLineSegment.cs
- ConfigurationManagerHelperFactory.cs
- WhileDesigner.cs
- RenderTargetBitmap.cs
- Activation.cs
- XmlSignificantWhitespace.cs
- SqlUtils.cs
- CLSCompliantAttribute.cs
- ImageCollectionEditor.cs
- ControlParser.cs
- LicenseContext.cs
- PriorityBinding.cs
- DynamicFilterExpression.cs
- DynamicRendererThreadManager.cs
- HeaderedContentControl.cs
- DependencyObjectType.cs
- Win32SafeHandles.cs
- SoapReflectionImporter.cs
- ImageListUtils.cs
- PagePropertiesChangingEventArgs.cs
- EventHandlerList.cs
- RecordManager.cs
- TrackingServices.cs
- GridItemCollection.cs
- BrowserCapabilitiesCompiler.cs
- ColorAnimationBase.cs
- ExecutedRoutedEventArgs.cs
- GlyphShapingProperties.cs
- EntityTypeBase.cs
- DateBoldEvent.cs
- _StreamFramer.cs
- XPathNavigatorReader.cs
- EventTrigger.cs
- TextServicesCompartmentContext.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- RequestCacheEntry.cs
- DataGridViewMethods.cs
- PathData.cs
- EFColumnProvider.cs
- Nullable.cs
- WindowsFormsHost.cs
- UdpReplyToBehavior.cs
- FileFormatException.cs
- DataGridViewRow.cs
- BamlRecords.cs
- KnownIds.cs
- TemplateParser.cs
- ImageSource.cs
- RichTextBoxContextMenu.cs
- CssStyleCollection.cs
- HandleRef.cs
- ExtractCollection.cs
- RectAnimationBase.cs
- WebSysDisplayNameAttribute.cs
- FunctionImportMapping.cs
- _CommandStream.cs
- Type.cs
- XhtmlConformanceSection.cs
- IBuiltInEvidence.cs
- ManagementException.cs
- SystemIPInterfaceProperties.cs
- EmptyEnumerable.cs
- TdsValueSetter.cs
- Parallel.cs
- ReadOnlyHierarchicalDataSource.cs
- StoreItemCollection.cs
- TemplateField.cs
- BypassElementCollection.cs
- SqlBuffer.cs
- XamlTypeMapper.cs
- SmtpCommands.cs
- EarlyBoundInfo.cs
- DrawingVisual.cs
- InputEventArgs.cs