Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / UI / ServiceReference.cs / 1305376 / 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.Web; using System.Web.Compilation; using System.Web.UI; using System.Web.Resources; using System.Web.Script.Services; [ DefaultProperty("Path") ] public class ServiceReference { private string _path; private bool _inlineScript; // needed at design time to remember what control owns this service reference (SM or SMP) internal Control _containingControl; public ServiceReference() { } public ServiceReference(string path) { // do not use the virtual Path property setter here as it would violate Microsft.Usage:DoNotCallOverridableMethodsInConstructors // A derived class is not likely to use this constructor anyway -- if they do, and they rely on an overridden Path property, // they could call the property directly rather than use this constructor. _path = path; } [ ResourceDescription("ServiceReference_InlineScript"), DefaultValue(false), Category("Behavior") ] public virtual bool InlineScript { get { return _inlineScript; } set { _inlineScript = value; } } [ ResourceDescription("ServiceReference_Path"), DefaultValue(""), Category("Behavior"), UrlProperty() ] public virtual string Path { get { return _path ?? String.Empty; } set { _path = value; } } protected internal virtual string GetProxyScript(ScriptManager scriptManager, Control containingControl) { string serviceUrl = GetServiceUrl(containingControl, false); try { serviceUrl = VirtualPathUtility.Combine(containingControl.Context.Request.FilePath, serviceUrl); } catch { throw new ArgumentException( String.Format(CultureInfo.InvariantCulture, AtlasWeb.WebService_InvalidInlineVirtualPath, serviceUrl)); } return WebServiceClientProxyGenerator.GetInlineClientProxyScript(serviceUrl, containingControl.Context, scriptManager.IsDebuggingEnabled); } [SuppressMessage("Microsoft.Design", "CA1055:UriReturnValuesShouldNotBeStrings", Justification="Cannot change to URI for compatibility, and yet must also provide this extensibility point.")] protected internal virtual string GetProxyUrl(ScriptManager scriptManager, Control containingControl) { return GetServiceUrl(containingControl, true) + ((scriptManager.DesignMode || scriptManager.IsDebuggingEnabled) ? RestHandlerFactory.ClientDebugProxyRequestPathInfo : RestHandlerFactory.ClientProxyRequestPathInfo); } private string GetServiceUrl(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; } internal void Register(Control containingControl, ScriptManager scriptManager) { if (InlineScript) { if (!scriptManager.IsRestMethodCall) { string script = GetProxyScript(scriptManager, containingControl); if (!String.IsNullOrEmpty(script)) { scriptManager.RegisterClientScriptBlockInternal(scriptManager, typeof(ScriptManager), script, script, true); } } } else { string url = GetProxyUrl(scriptManager, containingControl); if (!String.IsNullOrEmpty(url)) { scriptManager.RegisterClientScriptIncludeInternal(scriptManager, typeof(ScriptManager), url, url); } } } [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.Web; using System.Web.Compilation; using System.Web.UI; using System.Web.Resources; using System.Web.Script.Services; [ DefaultProperty("Path") ] public class ServiceReference { private string _path; private bool _inlineScript; // needed at design time to remember what control owns this service reference (SM or SMP) internal Control _containingControl; public ServiceReference() { } public ServiceReference(string path) { // do not use the virtual Path property setter here as it would violate Microsft.Usage:DoNotCallOverridableMethodsInConstructors // A derived class is not likely to use this constructor anyway -- if they do, and they rely on an overridden Path property, // they could call the property directly rather than use this constructor. _path = path; } [ ResourceDescription("ServiceReference_InlineScript"), DefaultValue(false), Category("Behavior") ] public virtual bool InlineScript { get { return _inlineScript; } set { _inlineScript = value; } } [ ResourceDescription("ServiceReference_Path"), DefaultValue(""), Category("Behavior"), UrlProperty() ] public virtual string Path { get { return _path ?? String.Empty; } set { _path = value; } } protected internal virtual string GetProxyScript(ScriptManager scriptManager, Control containingControl) { string serviceUrl = GetServiceUrl(containingControl, false); try { serviceUrl = VirtualPathUtility.Combine(containingControl.Context.Request.FilePath, serviceUrl); } catch { throw new ArgumentException( String.Format(CultureInfo.InvariantCulture, AtlasWeb.WebService_InvalidInlineVirtualPath, serviceUrl)); } return WebServiceClientProxyGenerator.GetInlineClientProxyScript(serviceUrl, containingControl.Context, scriptManager.IsDebuggingEnabled); } [SuppressMessage("Microsoft.Design", "CA1055:UriReturnValuesShouldNotBeStrings", Justification="Cannot change to URI for compatibility, and yet must also provide this extensibility point.")] protected internal virtual string GetProxyUrl(ScriptManager scriptManager, Control containingControl) { return GetServiceUrl(containingControl, true) + ((scriptManager.DesignMode || scriptManager.IsDebuggingEnabled) ? RestHandlerFactory.ClientDebugProxyRequestPathInfo : RestHandlerFactory.ClientProxyRequestPathInfo); } private string GetServiceUrl(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; } internal void Register(Control containingControl, ScriptManager scriptManager) { if (InlineScript) { if (!scriptManager.IsRestMethodCall) { string script = GetProxyScript(scriptManager, containingControl); if (!String.IsNullOrEmpty(script)) { scriptManager.RegisterClientScriptBlockInternal(scriptManager, typeof(ScriptManager), script, script, true); } } } else { string url = GetProxyUrl(scriptManager, containingControl); if (!String.IsNullOrEmpty(url)) { scriptManager.RegisterClientScriptIncludeInternal(scriptManager, typeof(ScriptManager), url, url); } } } [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
- PageContent.cs
- XmlSchemaAppInfo.cs
- ScriptReferenceBase.cs
- ColumnClickEvent.cs
- SQLRoleProvider.cs
- WebReference.cs
- XmlNullResolver.cs
- SqlAggregateChecker.cs
- WebConvert.cs
- SQLInt32Storage.cs
- ArraySet.cs
- SystemDiagnosticsSection.cs
- MemoryRecordBuffer.cs
- EntityDescriptor.cs
- Misc.cs
- ScriptingJsonSerializationSection.cs
- UpdateProgress.cs
- WorkflowOperationBehavior.cs
- RenderDataDrawingContext.cs
- OracleRowUpdatedEventArgs.cs
- Quaternion.cs
- HtmlTableRowCollection.cs
- TableStyle.cs
- SID.cs
- HttpListenerResponse.cs
- NullRuntimeConfig.cs
- XPathNavigatorKeyComparer.cs
- TypeUsage.cs
- SqlGatherProducedAliases.cs
- SqlParameter.cs
- MbpInfo.cs
- AssertUtility.cs
- XmlBinaryReader.cs
- PageStatePersister.cs
- DbCommandTree.cs
- FileCodeGroup.cs
- SelectionWordBreaker.cs
- WindowsListViewSubItem.cs
- XmlSchemaType.cs
- CanonicalizationDriver.cs
- GridViewRowCollection.cs
- IdentityReference.cs
- StringKeyFrameCollection.cs
- RefExpr.cs
- XmlSchemaGroup.cs
- RevocationPoint.cs
- Control.cs
- ConfigurationLockCollection.cs
- CancelRequestedQuery.cs
- QilStrConcatenator.cs
- PermissionSet.cs
- Accessible.cs
- CreateRefExpr.cs
- AsyncCodeActivityContext.cs
- SqlTriggerAttribute.cs
- EventArgs.cs
- CodeDOMUtility.cs
- PieceDirectory.cs
- PerformanceCountersElement.cs
- WindowsFormsSynchronizationContext.cs
- DynamicMetaObject.cs
- XmlDeclaration.cs
- HtmlToClrEventProxy.cs
- WebServiceHandler.cs
- DocumentOutline.cs
- ContentPosition.cs
- RootDesignerSerializerAttribute.cs
- XmlDataDocument.cs
- ElapsedEventArgs.cs
- ElementMarkupObject.cs
- SettingsProviderCollection.cs
- OracleSqlParser.cs
- WindowsImpersonationContext.cs
- RectangleGeometry.cs
- X509Certificate2Collection.cs
- InstanceDataCollectionCollection.cs
- OledbConnectionStringbuilder.cs
- BamlTreeUpdater.cs
- XmlWriterSettings.cs
- AddInContractAttribute.cs
- Utils.cs
- CompleteWizardStep.cs
- ScrollViewerAutomationPeer.cs
- JournalEntry.cs
- ModifierKeysConverter.cs
- ProcessHostConfigUtils.cs
- BaseValidatorDesigner.cs
- PackageProperties.cs
- Compilation.cs
- controlskin.cs
- MediaSystem.cs
- ObjectItemNoOpAssemblyLoader.cs
- ReadOnlyState.cs
- ToolStripDropDownMenu.cs
- DataSourceCache.cs
- ExtensionElement.cs
- SafeArrayTypeMismatchException.cs
- SequentialActivityDesigner.cs
- StandardTransformFactory.cs
- FlatButtonAppearance.cs