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
- X509CertificateClaimSet.cs
- DataBoundLiteralControl.cs
- Formatter.cs
- TCEAdapterGenerator.cs
- SortedDictionary.cs
- FormsIdentity.cs
- odbcmetadatacollectionnames.cs
- LazyTextWriterCreator.cs
- XPathBuilder.cs
- Identifier.cs
- TableLayoutRowStyleCollection.cs
- SmiGettersStream.cs
- CatalogZone.cs
- OrderedHashRepartitionStream.cs
- DoubleAnimationUsingPath.cs
- Helpers.cs
- PageAdapter.cs
- NaturalLanguageHyphenator.cs
- GenericParameterDataContract.cs
- AddInSegmentDirectoryNotFoundException.cs
- TextSegment.cs
- ImpersonationContext.cs
- TagMapCollection.cs
- EvidenceTypeDescriptor.cs
- GenericPrincipal.cs
- ShutDownListener.cs
- _NestedSingleAsyncResult.cs
- TextFormattingConverter.cs
- StateMachineAction.cs
- MultipleViewPattern.cs
- GridViewDesigner.cs
- CopyCodeAction.cs
- Debug.cs
- SafeReversePInvokeHandle.cs
- Point3D.cs
- oledbmetadatacolumnnames.cs
- DirtyTextRange.cs
- Size.cs
- Selection.cs
- XPathScanner.cs
- QilFactory.cs
- LockCookie.cs
- SocketSettings.cs
- DBCSCodePageEncoding.cs
- HtmlFormAdapter.cs
- nulltextcontainer.cs
- RoleManagerEventArgs.cs
- Int16KeyFrameCollection.cs
- EncodingInfo.cs
- ClientRolePrincipal.cs
- DateTimeUtil.cs
- RNGCryptoServiceProvider.cs
- DesignerGeometryHelper.cs
- XmlChildNodes.cs
- TreeNodeBinding.cs
- ColorAnimation.cs
- StyleSelector.cs
- ConnectionInterfaceCollection.cs
- RangeValidator.cs
- DefaultAssemblyResolver.cs
- PasswordRecovery.cs
- ThemeConfigurationDialog.cs
- oledbconnectionstring.cs
- Int64AnimationBase.cs
- TextBlock.cs
- XmlReflectionMember.cs
- HtmlEncodedRawTextWriter.cs
- Point.cs
- KeyEventArgs.cs
- Latin1Encoding.cs
- UseAttributeSetsAction.cs
- HttpDebugHandler.cs
- Property.cs
- XmlToDatasetMap.cs
- Funcletizer.cs
- MetadataPropertyvalue.cs
- DataGridViewTextBoxColumn.cs
- ThemeDictionaryExtension.cs
- OleDbError.cs
- EFTableProvider.cs
- BinaryWriter.cs
- AuthenticationServiceManager.cs
- SelectionEditingBehavior.cs
- WebPartEditVerb.cs
- InfoCardAsymmetricCrypto.cs
- EventHandlersStore.cs
- SqlNode.cs
- JsonReader.cs
- TextOnlyOutput.cs
- RuleSettingsCollection.cs
- WebProxyScriptElement.cs
- TableCellAutomationPeer.cs
- XamlFrame.cs
- PropertyCollection.cs
- SchemaEntity.cs
- ScrollPatternIdentifiers.cs
- EventlogProvider.cs
- BamlRecordReader.cs
- EntityKey.cs
- AffineTransform3D.cs