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
- HtmlLink.cs
- dataobject.cs
- InvalidWMPVersionException.cs
- DataGridComboBoxColumn.cs
- ISO2022Encoding.cs
- SoapReflectionImporter.cs
- RIPEMD160.cs
- InvariantComparer.cs
- ExpressionNormalizer.cs
- WebOperationContext.cs
- ExpanderAutomationPeer.cs
- X500Name.cs
- PolicyConversionContext.cs
- RoleManagerSection.cs
- BaseTemplateParser.cs
- SafeNativeMethodsOther.cs
- ActiveXHelper.cs
- LicenseManager.cs
- AnonymousIdentificationSection.cs
- DotAtomReader.cs
- TableItemStyle.cs
- arc.cs
- Win32KeyboardDevice.cs
- HeaderCollection.cs
- Int32CollectionConverter.cs
- QueryUtil.cs
- RegexWriter.cs
- RequiredFieldValidator.cs
- ProjectionPlanCompiler.cs
- MessageLogger.cs
- Int64.cs
- BamlRecords.cs
- TTSEngineTypes.cs
- HtmlInputRadioButton.cs
- DataGridViewColumn.cs
- XhtmlBasicPhoneCallAdapter.cs
- Pens.cs
- ToolStripContentPanelRenderEventArgs.cs
- LineServicesRun.cs
- DataGridViewSelectedCellCollection.cs
- SmiConnection.cs
- StylusPointDescription.cs
- SrgsGrammar.cs
- Cursors.cs
- HMACSHA512.cs
- HandleTable.cs
- DatePickerTextBox.cs
- NativeStructs.cs
- DataViewManagerListItemTypeDescriptor.cs
- Graph.cs
- UrlUtility.cs
- Behavior.cs
- CommandDesigner.cs
- WindowsIPAddress.cs
- SqlException.cs
- FilteredAttributeCollection.cs
- WebResourceAttribute.cs
- SiteMapNodeCollection.cs
- OracleString.cs
- ComboBox.cs
- CacheMemory.cs
- StopStoryboard.cs
- DateRangeEvent.cs
- CallSite.cs
- IndentedWriter.cs
- SessionPageStatePersister.cs
- ParameterCollection.cs
- SByteConverter.cs
- DataGridViewRowPostPaintEventArgs.cs
- OleDbEnumerator.cs
- DragEvent.cs
- ProviderCommandInfoUtils.cs
- OperationCanceledException.cs
- SplineQuaternionKeyFrame.cs
- KerberosSecurityTokenParameters.cs
- XmlTextReader.cs
- CompositeDataBoundControl.cs
- StringAnimationBase.cs
- DesignerHelpers.cs
- LinearQuaternionKeyFrame.cs
- DynamicDocumentPaginator.cs
- EnumType.cs
- DefaultAsyncDataDispatcher.cs
- CuspData.cs
- XslAstAnalyzer.cs
- ZeroOpNode.cs
- ProcessModelSection.cs
- TextRangeAdaptor.cs
- BitmapEffectvisualstate.cs
- HelpInfo.cs
- InkCanvasFeedbackAdorner.cs
- MetadataArtifactLoaderFile.cs
- MsmqQueue.cs
- PerformanceCounterPermissionAttribute.cs
- FastPropertyAccessor.cs
- CodeVariableDeclarationStatement.cs
- WsatConfiguration.cs
- StartUpEventArgs.cs
- RoleManagerEventArgs.cs
- InvalidPrinterException.cs