Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / xsp / System / Web / Extensions / ui / ServiceReference.cs / 2 / 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
- Range.cs
- DataGridViewCellEventArgs.cs
- SqlUserDefinedAggregateAttribute.cs
- ButtonBaseAdapter.cs
- SimpleBitVector32.cs
- FreezableDefaultValueFactory.cs
- ContentPlaceHolder.cs
- DependencyPropertyConverter.cs
- TdsParserSessionPool.cs
- ServiceContractListItemList.cs
- HatchBrush.cs
- EnvironmentPermission.cs
- SecurityPermission.cs
- ValueType.cs
- ActivitiesCollection.cs
- BulletChrome.cs
- VectorCollection.cs
- Inline.cs
- TextTreeUndo.cs
- Model3DGroup.cs
- newinstructionaction.cs
- Vars.cs
- MimeWriter.cs
- Adorner.cs
- SendMailErrorEventArgs.cs
- HttpHeaderCollection.cs
- connectionpool.cs
- RuleSettings.cs
- PresentationSource.cs
- WindowsFormsSynchronizationContext.cs
- CodeDomSerializerBase.cs
- KeyFrames.cs
- File.cs
- ToolStripOverflow.cs
- CodeMemberEvent.cs
- TextEditor.cs
- BroadcastEventHelper.cs
- PassportPrincipal.cs
- File.cs
- FragmentNavigationEventArgs.cs
- Win32SafeHandles.cs
- CategoryAttribute.cs
- StateWorkerRequest.cs
- ProfessionalColors.cs
- Expander.cs
- SortAction.cs
- CategoryNameCollection.cs
- DiscoveryDocumentSerializer.cs
- ExtendedPropertyDescriptor.cs
- DataGridCellItemAutomationPeer.cs
- WsdlHelpGeneratorElement.cs
- StorageEndPropertyMapping.cs
- Matrix.cs
- FixedNode.cs
- DataServiceClientException.cs
- ProcessModelInfo.cs
- TextHintingModeValidation.cs
- XmlnsCompatibleWithAttribute.cs
- TablePatternIdentifiers.cs
- CustomErrorsSectionWrapper.cs
- Registry.cs
- DataMisalignedException.cs
- COSERVERINFO.cs
- FullTextState.cs
- WebException.cs
- SQLBinaryStorage.cs
- XmlNode.cs
- SettingsAttributeDictionary.cs
- BitmapEffect.cs
- ReachFixedPageSerializer.cs
- HashMembershipCondition.cs
- BaseCodeDomTreeGenerator.cs
- Root.cs
- ToolStripScrollButton.cs
- DataKey.cs
- Completion.cs
- StreamInfo.cs
- ProfileEventArgs.cs
- PackageFilter.cs
- HttpTransportSecurityElement.cs
- UnsafeNativeMethods.cs
- HebrewNumber.cs
- SQLInt16.cs
- Point4DConverter.cs
- TextTreeObjectNode.cs
- Pair.cs
- MethodCallConverter.cs
- WizardPanelChangingEventArgs.cs
- ReadOnlyCollection.cs
- SapiRecoContext.cs
- HwndMouseInputProvider.cs
- ErrorHandlingReceiver.cs
- SafeArrayTypeMismatchException.cs
- DataTemplate.cs
- sqlstateclientmanager.cs
- NavigationProperty.cs
- LoginUtil.cs
- HttpWriter.cs
- IntegrationExceptionEventArgs.cs
- SerializerDescriptor.cs