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
- TextFindEngine.cs
- WindowProviderWrapper.cs
- SoundPlayerAction.cs
- GiveFeedbackEvent.cs
- COM2EnumConverter.cs
- SafeIUnknown.cs
- ObjectHelper.cs
- PageCache.cs
- UnaryNode.cs
- Event.cs
- QilBinary.cs
- Slider.cs
- ItemType.cs
- WebBrowserBase.cs
- arclist.cs
- DebugView.cs
- SeekStoryboard.cs
- TripleDES.cs
- Asn1IntegerConverter.cs
- PieceDirectory.cs
- RangeBase.cs
- ConsoleKeyInfo.cs
- RemoteWebConfigurationHostStream.cs
- LongValidatorAttribute.cs
- SiteMapHierarchicalDataSourceView.cs
- CustomValidator.cs
- Executor.cs
- Update.cs
- RequestBringIntoViewEventArgs.cs
- ResourcesBuildProvider.cs
- DataGridViewCellValueEventArgs.cs
- GridViewColumnHeader.cs
- EmptyStringExpandableObjectConverter.cs
- SubMenuStyle.cs
- Int64AnimationBase.cs
- DisplayInformation.cs
- FileLoadException.cs
- ArrayElementGridEntry.cs
- ValueType.cs
- EventLogPermissionEntry.cs
- DynamicPropertyReader.cs
- ColumnCollection.cs
- FocusChangedEventArgs.cs
- DataGridViewRowCancelEventArgs.cs
- XmlElementAttributes.cs
- webclient.cs
- TargetParameterCountException.cs
- PointAnimationBase.cs
- IconHelper.cs
- rsa.cs
- ValueTypeIndexerReference.cs
- ProfileWorkflowElement.cs
- TransactionOptions.cs
- StorageEntityTypeMapping.cs
- QueryCacheEntry.cs
- MergeFilterQuery.cs
- RotateTransform.cs
- _NestedSingleAsyncResult.cs
- AmbientEnvironment.cs
- entityreference_tresulttype.cs
- CultureSpecificStringDictionary.cs
- BitStream.cs
- GeneralTransform3DCollection.cs
- RNGCryptoServiceProvider.cs
- ExecutedRoutedEventArgs.cs
- ItemAutomationPeer.cs
- ServiceBehaviorAttribute.cs
- ArrayConverter.cs
- PaintValueEventArgs.cs
- CodeMemberProperty.cs
- SqlPersonalizationProvider.cs
- HtmlDocument.cs
- xml.cs
- MoveSizeWinEventHandler.cs
- DictionaryChange.cs
- UserControl.cs
- SystemException.cs
- HttpRequest.cs
- ObjectStateEntry.cs
- WsatAdminException.cs
- AssemblyLoader.cs
- OperatingSystem.cs
- ToolboxCategoryItems.cs
- TrustSection.cs
- ClientSettingsStore.cs
- MarshalByRefObject.cs
- PEFileReader.cs
- ServiceHttpHandlerFactory.cs
- GridToolTip.cs
- TypeConverterValueSerializer.cs
- QueryStringParameter.cs
- AspProxy.cs
- RichTextBox.cs
- RichTextBox.cs
- OdbcReferenceCollection.cs
- ScrollChrome.cs
- ToolStripComboBox.cs
- LogicalCallContext.cs
- UnsafeNativeMethods.cs
- RichTextBoxConstants.cs