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
- ModuleElement.cs
- IndentTextWriter.cs
- DataTablePropertyDescriptor.cs
- Baml2006ReaderContext.cs
- QilParameter.cs
- HostProtectionPermission.cs
- GatewayIPAddressInformationCollection.cs
- DataGridViewCellStyle.cs
- OdbcConnectionHandle.cs
- CaseStatement.cs
- oledbmetadatacollectionnames.cs
- Converter.cs
- ToolBarButtonClickEvent.cs
- SingleQueryOperator.cs
- ContainerParagraph.cs
- ConfigurationValidatorAttribute.cs
- GridView.cs
- LineSegment.cs
- DataSourceSelectArguments.cs
- ZipPackagePart.cs
- SimpleModelProvider.cs
- LinqDataSourceUpdateEventArgs.cs
- Int64Animation.cs
- Expressions.cs
- ExeContext.cs
- entitydatasourceentitysetnameconverter.cs
- _NativeSSPI.cs
- TableLayoutRowStyleCollection.cs
- OdbcPermission.cs
- ConsoleTraceListener.cs
- SHA256.cs
- DockAndAnchorLayout.cs
- UICuesEvent.cs
- XmlArrayItemAttributes.cs
- PropertyItemInternal.cs
- OneOfTypeConst.cs
- CompositionTarget.cs
- CompatibleComparer.cs
- GatewayDefinition.cs
- DateTimePickerDesigner.cs
- controlskin.cs
- SqlXml.cs
- DiscardableAttribute.cs
- BasicCommandTreeVisitor.cs
- LineInfo.cs
- ServicesUtilities.cs
- columnmapkeybuilder.cs
- SortedDictionary.cs
- ImageMetadata.cs
- CustomCategoryAttribute.cs
- xmlglyphRunInfo.cs
- FixedSOMGroup.cs
- FormatterServices.cs
- ExpressionHelper.cs
- ZipIOBlockManager.cs
- ReversePositionQuery.cs
- OpenTypeLayoutCache.cs
- LambdaCompiler.Expressions.cs
- ApplicationSettingsBase.cs
- CheckedListBox.cs
- SqlDataSourceFilteringEventArgs.cs
- StoryFragments.cs
- DataContractSerializerOperationFormatter.cs
- ParameterToken.cs
- MessageQuerySet.cs
- ContentElement.cs
- RemoteArgument.cs
- ContainerTracking.cs
- TypeBuilderInstantiation.cs
- TokenBasedSetEnumerator.cs
- StylusPointPropertyInfoDefaults.cs
- EventSetter.cs
- ContentPathSegment.cs
- ServiceContractAttribute.cs
- PointAnimationClockResource.cs
- VisualBrush.cs
- ArraySubsetEnumerator.cs
- SmiMetaDataProperty.cs
- WindowsTooltip.cs
- StoreContentChangedEventArgs.cs
- ExeContext.cs
- LogStore.cs
- FormsAuthenticationUser.cs
- _ConnectOverlappedAsyncResult.cs
- While.cs
- AuthenticationService.cs
- ValidationRule.cs
- InstanceHandleReference.cs
- ConstraintConverter.cs
- CallbackValidator.cs
- EntityDataSourceView.cs
- ActiveXHelper.cs
- KoreanLunisolarCalendar.cs
- _BasicClient.cs
- HtmlTableRow.cs
- TTSVoice.cs
- DBNull.cs
- TreeView.cs
- Function.cs
- UniqueEventHelper.cs