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
- ConfigXmlComment.cs
- RNGCryptoServiceProvider.cs
- KeyValueSerializer.cs
- GPPOINTF.cs
- UnmanagedBitmapWrapper.cs
- IntSecurity.cs
- TitleStyle.cs
- PromptStyle.cs
- PopupControlService.cs
- EFAssociationProvider.cs
- CmsUtils.cs
- SystemIPv4InterfaceProperties.cs
- EnumBuilder.cs
- ContentIterators.cs
- CharAnimationBase.cs
- TemplateInstanceAttribute.cs
- BaseTemplateParser.cs
- FileRecordSequenceCompletedAsyncResult.cs
- JsonWriterDelegator.cs
- DataServiceRequestException.cs
- IApplicationTrustManager.cs
- WeakHashtable.cs
- RetrieveVirtualItemEventArgs.cs
- RepeaterItem.cs
- SelectionEditor.cs
- Attributes.cs
- SizeIndependentAnimationStorage.cs
- ExtensionWindowResizeGrip.cs
- SmiMetaData.cs
- SecurityTokenProviderContainer.cs
- OleDbInfoMessageEvent.cs
- GatewayIPAddressInformationCollection.cs
- MemoryFailPoint.cs
- Lasso.cs
- AsyncPostBackTrigger.cs
- LinqDataSourceStatusEventArgs.cs
- _FtpDataStream.cs
- Types.cs
- InheritablePropertyChangeInfo.cs
- FilterElement.cs
- CommunicationObjectAbortedException.cs
- SourceLocation.cs
- While.cs
- VectorAnimationBase.cs
- ConfigUtil.cs
- DataGridViewCellStyleChangedEventArgs.cs
- CalendarDateChangedEventArgs.cs
- Zone.cs
- JsonWriterDelegator.cs
- AnimationClockResource.cs
- invalidudtexception.cs
- ToolTip.cs
- WorkflowCreationContext.cs
- OleDbParameter.cs
- Queue.cs
- Calendar.cs
- WebServiceMethodData.cs
- XmlSiteMapProvider.cs
- TemplateParser.cs
- SmiRequestExecutor.cs
- HttpHeaderCollection.cs
- FontNameEditor.cs
- InsufficientMemoryException.cs
- ResourceCategoryAttribute.cs
- Compiler.cs
- NativeCompoundFileAPIs.cs
- Span.cs
- MetadataStore.cs
- UrlMapping.cs
- DataServiceHostFactory.cs
- ToolStripRenderer.cs
- XsltLoader.cs
- Adorner.cs
- MinimizableAttributeTypeConverter.cs
- ImageMapEventArgs.cs
- ScrollViewer.cs
- FixedSOMLineCollection.cs
- ContractHandle.cs
- StaticResourceExtension.cs
- Stopwatch.cs
- PersistenceIOParticipant.cs
- CookieParameter.cs
- UndoUnit.cs
- QilDataSource.cs
- Publisher.cs
- ListControlConvertEventArgs.cs
- columnmapkeybuilder.cs
- EpmCustomContentSerializer.cs
- streamingZipPartStream.cs
- GroupBox.cs
- MetaData.cs
- ScriptRegistrationManager.cs
- DataGridViewSortCompareEventArgs.cs
- MouseActionConverter.cs
- RedirectionProxy.cs
- JulianCalendar.cs
- COM2PropertyDescriptor.cs
- SqlErrorCollection.cs
- HtmlElement.cs
- dtdvalidator.cs