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
- TabControl.cs
- PresentationAppDomainManager.cs
- SEHException.cs
- CodeTypeDelegate.cs
- ConfigurationValue.cs
- BaseCodePageEncoding.cs
- PropertyFilterAttribute.cs
- DataGridViewUtilities.cs
- Splitter.cs
- VirtualPath.cs
- SqlNodeTypeOperators.cs
- FunctionQuery.cs
- SystemSounds.cs
- HandleCollector.cs
- RelationshipManager.cs
- DragDropHelper.cs
- DocumentGridPage.cs
- ipaddressinformationcollection.cs
- InlinedAggregationOperator.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- CodeCommentStatement.cs
- ToolboxItemFilterAttribute.cs
- ClientSettingsStore.cs
- ValueTypeIndexerReference.cs
- SqlDataSourceEnumerator.cs
- SmtpFailedRecipientsException.cs
- DecodeHelper.cs
- AssociationType.cs
- LogEntrySerializationException.cs
- TransformPattern.cs
- Grid.cs
- Size.cs
- ScrollProperties.cs
- URL.cs
- AnchoredBlock.cs
- IgnorePropertiesAttribute.cs
- XmlTextReaderImplHelpers.cs
- XmlArrayItemAttributes.cs
- HexParser.cs
- Configuration.cs
- FlowLayout.cs
- DynamicResourceExtensionConverter.cs
- DefaultAutoFieldGenerator.cs
- XmlUtf8RawTextWriter.cs
- QueryGeneratorBase.cs
- CodeAttributeDeclarationCollection.cs
- StorageBasedPackageProperties.cs
- GridView.cs
- LogLogRecordEnumerator.cs
- CacheVirtualItemsEvent.cs
- WindowsPrincipal.cs
- LoadedEvent.cs
- TreeNodeCollectionEditor.cs
- FullTrustAssembliesSection.cs
- DNS.cs
- GetPageCompletedEventArgs.cs
- CodeDelegateCreateExpression.cs
- XamlReaderHelper.cs
- ColumnResult.cs
- _AcceptOverlappedAsyncResult.cs
- TrackingStringDictionary.cs
- NamedPipeConnectionPool.cs
- __Error.cs
- WebResourceAttribute.cs
- FixedSOMTextRun.cs
- ObjectSecurity.cs
- MatrixAnimationUsingKeyFrames.cs
- ConstNode.cs
- backend.cs
- Label.cs
- LocatorManager.cs
- ConditionValidator.cs
- EntityClassGenerator.cs
- FileDataSource.cs
- IDReferencePropertyAttribute.cs
- EntitySetBaseCollection.cs
- MemoryStream.cs
- RawMouseInputReport.cs
- _Semaphore.cs
- SerializableAttribute.cs
- AspNetSynchronizationContext.cs
- XmlSchemaFacet.cs
- DoubleLinkList.cs
- ImportContext.cs
- SqlProfileProvider.cs
- DataBoundControlParameterTarget.cs
- CacheSection.cs
- DesignerSelectionListAdapter.cs
- FreezableCollection.cs
- ActivityIdHeader.cs
- OdbcConnectionHandle.cs
- IgnoreSectionHandler.cs
- RegexRunnerFactory.cs
- WSDualHttpSecurity.cs
- DataBoundLiteralControl.cs
- SqlMetaData.cs
- UnsafeNativeMethods.cs
- KeyValuePairs.cs
- ChangeTracker.cs
- ServiceHostingEnvironmentSection.cs