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
- RpcCryptoRequest.cs
- CompiledELinqQueryState.cs
- ByteStack.cs
- ChannelDemuxer.cs
- MsmqMessageProperty.cs
- PersianCalendar.cs
- ConnectivityStatus.cs
- XPathParser.cs
- DateBoldEvent.cs
- BulletedListEventArgs.cs
- OverlappedAsyncResult.cs
- InvalidOperationException.cs
- DNS.cs
- DataGridItemCollection.cs
- Mappings.cs
- Item.cs
- TableLayoutSettingsTypeConverter.cs
- listviewsubitemcollectioneditor.cs
- CodeThrowExceptionStatement.cs
- TypeNameHelper.cs
- Char.cs
- SystemDropShadowChrome.cs
- EntityWrapperFactory.cs
- TextServicesDisplayAttributePropertyRanges.cs
- DragStartedEventArgs.cs
- RowTypePropertyElement.cs
- DefaultBinder.cs
- UnsafeNativeMethods.cs
- LockRecoveryTask.cs
- SmiEventSink.cs
- SqlInternalConnectionTds.cs
- Membership.cs
- AttributeData.cs
- OdbcParameter.cs
- DrawingBrush.cs
- AutomationElement.cs
- ValidationSummaryDesigner.cs
- Span.cs
- MetadataFile.cs
- SignedInfo.cs
- Directory.cs
- FacetDescriptionElement.cs
- MemberHolder.cs
- ToolTip.cs
- CreateUserErrorEventArgs.cs
- StreamGeometryContext.cs
- SmtpReplyReader.cs
- CommandHelper.cs
- PrintingPermissionAttribute.cs
- PtsHelper.cs
- GridViewAutomationPeer.cs
- ImageDrawing.cs
- _SslState.cs
- XmlEnumAttribute.cs
- FixedSOMContainer.cs
- XmlAtomicValue.cs
- RoutedEvent.cs
- Pen.cs
- CompilerLocalReference.cs
- ApplicationHost.cs
- RequestQueryParser.cs
- StorageTypeMapping.cs
- UrlAuthFailedErrorFormatter.cs
- PackWebRequest.cs
- DataServiceRequest.cs
- GZipObjectSerializer.cs
- PointAnimationUsingKeyFrames.cs
- ConstraintEnumerator.cs
- ElementUtil.cs
- SQLByte.cs
- ConnectionsZoneAutoFormat.cs
- Executor.cs
- SizeValueSerializer.cs
- ZipIOCentralDirectoryFileHeader.cs
- BitmapEffectOutputConnector.cs
- StrokeCollectionConverter.cs
- StylusLogic.cs
- GeometryGroup.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- ArraySet.cs
- PathNode.cs
- Stylus.cs
- XmlSerializableServices.cs
- ConnectionPointCookie.cs
- DiffuseMaterial.cs
- UriExt.cs
- ProxyAttribute.cs
- ColumnPropertiesGroup.cs
- CachedBitmap.cs
- ValidationRule.cs
- ServiceTimeoutsElement.cs
- CodeLinePragma.cs
- Condition.cs
- SafeThreadHandle.cs
- _IPv6Address.cs
- EventListenerClientSide.cs
- EntityReference.cs
- CfgSemanticTag.cs
- TextTreeTextBlock.cs
- Subtree.cs