Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / xsp / System / Web / Extensions / ui / ServiceReference.cs / 1 / ServiceReference.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI { using System; using System.ComponentModel; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Security.Permissions; using System.Web; using System.Web.Compilation; using System.Web.UI; using System.Web.Resources; using System.Web.Script.Services; [ AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal), AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal), DefaultProperty("Path") ] public class ServiceReference { private string _path; private bool _inlineScript; public ServiceReference() { } public ServiceReference(string path) { Path = path; } [ ResourceDescription("ServiceReference_InlineScript"), DefaultValue(false), Category("Behavior") ] public bool InlineScript { get { return _inlineScript; } set { _inlineScript = value; } } [ ResourceDescription("ServiceReference_Path"), DefaultValue(""), Category("Behavior"), UrlProperty() ] public string Path { get { if (_path == null) { return String.Empty; } return _path; } set { _path = value; } } private string GetInlineScript(Control containingControl, HttpContext context, bool debug) { // Do not attempt to resolve inline service references on PageMethod requests. if (RestHandlerFactory.IsRestMethodCall(context.Request)) { return String.Empty; } string servicePath = GetServicePath(containingControl, false); try { servicePath = VirtualPathUtility.Combine(context.Request.FilePath, servicePath); } catch { throw new ArgumentException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.WebService_InvalidInlineVirtualPath, servicePath)); } return WebServiceClientProxyGenerator.GetInlineClientProxyScript(servicePath, context, debug); } private string GetServicePath(Control containingControl, bool encodeSpaces) { string path = Path; if (String.IsNullOrEmpty(path)) { throw new InvalidOperationException(AtlasWeb.ServiceReference_PathCannotBeEmpty); } if (encodeSpaces) { path = containingControl.ResolveClientUrl(path); } else { path = containingControl.ResolveUrl(path); } return path; } private string GetProxyPath(Control containingControl, bool debug) { if (debug) return GetServicePath(containingControl, true) + RestHandlerFactory.ClientDebugProxyRequestPathInfo; else return GetServicePath(containingControl, true) + RestHandlerFactory.ClientProxyRequestPathInfo; } internal void Register(Control containingControl, HttpContext context, ScriptManager scriptManager, bool debug) { if (InlineScript) { RenderClientScriptBlock(GetInlineScript(containingControl, context, debug), scriptManager); } else { RegisterClientScriptInclude(GetProxyPath(containingControl, debug), scriptManager); } } private static void RegisterClientScriptInclude(string path, ScriptManager scriptManager) { scriptManager.RegisterClientScriptIncludeInternal(scriptManager, typeof(ScriptManager), path, path); } private static void RenderClientScriptBlock(string script, ScriptManager scriptManager) { scriptManager.RegisterClientScriptBlockInternal(scriptManager, typeof(ScriptManager), script, script, true); } [SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase")] public override string ToString() { if (!String.IsNullOrEmpty(Path)) { return Path; } else { return GetType().Name; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI { using System; using System.ComponentModel; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Security.Permissions; using System.Web; using System.Web.Compilation; using System.Web.UI; using System.Web.Resources; using System.Web.Script.Services; [ AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal), AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal), DefaultProperty("Path") ] public class ServiceReference { private string _path; private bool _inlineScript; public ServiceReference() { } public ServiceReference(string path) { Path = path; } [ ResourceDescription("ServiceReference_InlineScript"), DefaultValue(false), Category("Behavior") ] public bool InlineScript { get { return _inlineScript; } set { _inlineScript = value; } } [ ResourceDescription("ServiceReference_Path"), DefaultValue(""), Category("Behavior"), UrlProperty() ] public string Path { get { if (_path == null) { return String.Empty; } return _path; } set { _path = value; } } private string GetInlineScript(Control containingControl, HttpContext context, bool debug) { // Do not attempt to resolve inline service references on PageMethod requests. if (RestHandlerFactory.IsRestMethodCall(context.Request)) { return String.Empty; } string servicePath = GetServicePath(containingControl, false); try { servicePath = VirtualPathUtility.Combine(context.Request.FilePath, servicePath); } catch { throw new ArgumentException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.WebService_InvalidInlineVirtualPath, servicePath)); } return WebServiceClientProxyGenerator.GetInlineClientProxyScript(servicePath, context, debug); } private string GetServicePath(Control containingControl, bool encodeSpaces) { string path = Path; if (String.IsNullOrEmpty(path)) { throw new InvalidOperationException(AtlasWeb.ServiceReference_PathCannotBeEmpty); } if (encodeSpaces) { path = containingControl.ResolveClientUrl(path); } else { path = containingControl.ResolveUrl(path); } return path; } private string GetProxyPath(Control containingControl, bool debug) { if (debug) return GetServicePath(containingControl, true) + RestHandlerFactory.ClientDebugProxyRequestPathInfo; else return GetServicePath(containingControl, true) + RestHandlerFactory.ClientProxyRequestPathInfo; } internal void Register(Control containingControl, HttpContext context, ScriptManager scriptManager, bool debug) { if (InlineScript) { RenderClientScriptBlock(GetInlineScript(containingControl, context, debug), scriptManager); } else { RegisterClientScriptInclude(GetProxyPath(containingControl, debug), scriptManager); } } private static void RegisterClientScriptInclude(string path, ScriptManager scriptManager) { scriptManager.RegisterClientScriptIncludeInternal(scriptManager, typeof(ScriptManager), path, path); } private static void RenderClientScriptBlock(string script, ScriptManager scriptManager) { scriptManager.RegisterClientScriptBlockInternal(scriptManager, typeof(ScriptManager), script, script, true); } [SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase")] public override string ToString() { if (!String.IsNullOrEmpty(Path)) { return Path; } else { return GetType().Name; } } } } // 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
- SiteMapHierarchicalDataSourceView.cs
- SQLResource.cs
- VBIdentifierName.cs
- ErrorRuntimeConfig.cs
- SecureStringHasher.cs
- DesignerResources.cs
- BaseCollection.cs
- ChannelTokenTypeConverter.cs
- EntityContainerEmitter.cs
- DomainUpDown.cs
- GridViewRowPresenter.cs
- cookie.cs
- OleDbStruct.cs
- WebSysDescriptionAttribute.cs
- AutoResizedEvent.cs
- InvalidStoreProtectionKeyException.cs
- CodeThrowExceptionStatement.cs
- ProviderUtil.cs
- CodeTypeOfExpression.cs
- FilteredSchemaElementLookUpTable.cs
- WindowsAuthenticationModule.cs
- PropertyBuilder.cs
- IPAddress.cs
- Claim.cs
- Size.cs
- ShutDownListener.cs
- PathGeometry.cs
- FormsAuthentication.cs
- XmlTextReader.cs
- CurrentChangingEventArgs.cs
- ScriptRegistrationManager.cs
- LayoutEvent.cs
- TextEditorCopyPaste.cs
- ListItemsPage.cs
- RuleElement.cs
- mansign.cs
- HeaderedContentControl.cs
- ExceptionUtil.cs
- ValidateNames.cs
- MeasurementDCInfo.cs
- EventLogSession.cs
- ImageClickEventArgs.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- SecurityTokenTypes.cs
- StringArrayConverter.cs
- UnicastIPAddressInformationCollection.cs
- OleDbError.cs
- QuotedPrintableStream.cs
- HtmlGenericControl.cs
- XhtmlConformanceSection.cs
- QueryCacheKey.cs
- LocalizabilityAttribute.cs
- ConstNode.cs
- PixelShader.cs
- SubclassTypeValidator.cs
- RequestQueue.cs
- GroupedContextMenuStrip.cs
- GeneralTransform3DTo2D.cs
- InheritablePropertyChangeInfo.cs
- ValidationSummary.cs
- Publisher.cs
- InkCanvasFeedbackAdorner.cs
- WindowsFormsSectionHandler.cs
- Command.cs
- Scheduler.cs
- FreezableDefaultValueFactory.cs
- RequiredAttributeAttribute.cs
- HtmlTernaryTree.cs
- SocketCache.cs
- clipboard.cs
- ScalarOps.cs
- XmlDataSource.cs
- ProtocolsConfigurationEntry.cs
- ManagedIStream.cs
- ChannelAcceptor.cs
- MapPathBasedVirtualPathProvider.cs
- MetadataConversionError.cs
- CodeCastExpression.cs
- OpCopier.cs
- BitmapEffect.cs
- __FastResourceComparer.cs
- DataGridCellClipboardEventArgs.cs
- XPathNodePointer.cs
- TrustSection.cs
- DrawingVisual.cs
- SerialStream.cs
- ClientEventManager.cs
- BindingsSection.cs
- StringTraceRecord.cs
- DatagridviewDisplayedBandsData.cs
- SafeBitVector32.cs
- BindingListCollectionView.cs
- HatchBrush.cs
- ThicknessKeyFrameCollection.cs
- NetMsmqSecurityElement.cs
- SingleTagSectionHandler.cs
- Helpers.cs
- Vector.cs
- ISAPIWorkerRequest.cs
- SqlProviderServices.cs