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
- MLangCodePageEncoding.cs
- SafeRsaProviderHandle.cs
- MultiBindingExpression.cs
- SatelliteContractVersionAttribute.cs
- DataControlFieldCollection.cs
- TemplateBuilder.cs
- LOSFormatter.cs
- EventLogEntryCollection.cs
- TdsParserHelperClasses.cs
- Array.cs
- OdbcConnectionStringbuilder.cs
- DocumentPageView.cs
- DateTimeUtil.cs
- CompositeCollectionView.cs
- ObjectSet.cs
- XmlILStorageConverter.cs
- XmlDocumentType.cs
- MimeMapping.cs
- MouseActionConverter.cs
- ItemsControl.cs
- WebBrowser.cs
- AttachedPropertyMethodSelector.cs
- Ports.cs
- TransactionInterop.cs
- CompilerInfo.cs
- ControlBuilderAttribute.cs
- ReferencedCollectionType.cs
- UnsignedPublishLicense.cs
- EventLevel.cs
- BrushMappingModeValidation.cs
- PeerTransportBindingElement.cs
- XpsSerializerFactory.cs
- TemplateComponentConnector.cs
- RoleServiceManager.cs
- FixedSOMImage.cs
- ValueTable.cs
- MsmqTransportReceiveParameters.cs
- printdlgexmarshaler.cs
- DataObjectFieldAttribute.cs
- ToolStripItemBehavior.cs
- ArrayConverter.cs
- UnescapedXmlDiagnosticData.cs
- ApplicationServicesHostFactory.cs
- EntityContainer.cs
- PreviewPrintController.cs
- GroupBoxRenderer.cs
- ThicknessAnimation.cs
- ModelItemDictionary.cs
- GeneralTransform3DCollection.cs
- WaitHandle.cs
- SqlVisitor.cs
- SessionStateItemCollection.cs
- ButtonField.cs
- ConstrainedDataObject.cs
- CommandExpr.cs
- DataGridViewCellCancelEventArgs.cs
- TableLayoutPanel.cs
- formatter.cs
- RenderTargetBitmap.cs
- HandledMouseEvent.cs
- VisualStyleRenderer.cs
- NullRuntimeConfig.cs
- ResponseStream.cs
- SizeFConverter.cs
- Asn1IntegerConverter.cs
- CodeFieldReferenceExpression.cs
- CriticalFinalizerObject.cs
- DispatchChannelSink.cs
- ParentUndoUnit.cs
- ListViewDeletedEventArgs.cs
- DataGridViewBindingCompleteEventArgs.cs
- BlockingCollection.cs
- DiscoveryClientBindingElement.cs
- RuleSetCollection.cs
- DrawingBrush.cs
- ResXResourceWriter.cs
- PageAsyncTask.cs
- DesignerTransaction.cs
- ConnectionManagementSection.cs
- MetadataPropertyvalue.cs
- AddInController.cs
- QueryReaderSettings.cs
- FrameworkContentElement.cs
- XmlIlVisitor.cs
- HealthMonitoringSectionHelper.cs
- shaperfactoryquerycacheentry.cs
- ExtensionSimplifierMarkupObject.cs
- ControlCollection.cs
- SingletonChannelAcceptor.cs
- SecurityManager.cs
- MetadataItem_Static.cs
- ResolveCriteria.cs
- CompilerError.cs
- TypeHelpers.cs
- TransformerInfo.cs
- FilterException.cs
- XmlTypeAttribute.cs
- EnvironmentPermission.cs
- TdsParserSessionPool.cs
- Condition.cs