Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- JsonGlobals.cs
- EndGetFileNameFromUserRequest.cs
- TreeView.cs
- WindowsTab.cs
- BookmarkNameHelper.cs
- sqlpipe.cs
- COM2AboutBoxPropertyDescriptor.cs
- JavaScriptSerializer.cs
- TagPrefixCollection.cs
- Ipv6Element.cs
- MediaTimeline.cs
- ProviderConnectionPointCollection.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- Stopwatch.cs
- HandlerFactoryWrapper.cs
- SafeCryptContextHandle.cs
- TreeNodeStyleCollectionEditor.cs
- CustomSignedXml.cs
- TransformerInfoCollection.cs
- TableCellCollection.cs
- WebPartDisplayModeEventArgs.cs
- AppModelKnownContentFactory.cs
- InstalledVoice.cs
- StylusCollection.cs
- ByteStreamGeometryContext.cs
- XmlBindingWorker.cs
- HTMLTextWriter.cs
- ConfigurationElement.cs
- EmptyQuery.cs
- MetadataItemCollectionFactory.cs
- Pts.cs
- OverflowException.cs
- AppDomainInstanceProvider.cs
- XmlCharacterData.cs
- CompiledQueryCacheEntry.cs
- PlainXmlSerializer.cs
- DataTableMappingCollection.cs
- CompilerGlobalScopeAttribute.cs
- DataGridViewColumnCollection.cs
- FacetChecker.cs
- COM2ComponentEditor.cs
- MemberAccessException.cs
- SizeLimitedCache.cs
- EnumMemberAttribute.cs
- XmlQueryType.cs
- FamilyCollection.cs
- HttpServerVarsCollection.cs
- CardSpacePolicyElement.cs
- XmlSchemaException.cs
- SmtpMail.cs
- ExtentCqlBlock.cs
- SingleAnimation.cs
- StringDictionary.cs
- unsafeIndexingFilterStream.cs
- COSERVERINFO.cs
- RMEnrollmentPage2.cs
- PrintEvent.cs
- RightsManagementSuppressedStream.cs
- TransformPattern.cs
- MissingSatelliteAssemblyException.cs
- GridViewCommandEventArgs.cs
- XmlSignatureProperties.cs
- ManualResetEvent.cs
- AccessDataSource.cs
- COM2PropertyDescriptor.cs
- ProcessThreadCollection.cs
- OutputCacheProfile.cs
- Menu.cs
- Pair.cs
- __ConsoleStream.cs
- LabelAutomationPeer.cs
- ToolStripContentPanel.cs
- ISCIIEncoding.cs
- SaveCardRequest.cs
- CodeTryCatchFinallyStatement.cs
- DBSqlParserColumn.cs
- ClientTarget.cs
- HideDisabledControlAdapter.cs
- RestHandler.cs
- StringCollection.cs
- FlowchartStart.xaml.cs
- IPAddress.cs
- Predicate.cs
- RTLAwareMessageBox.cs
- dbenumerator.cs
- ExpressionStringBuilder.cs
- _OverlappedAsyncResult.cs
- DynamicDocumentPaginator.cs
- DetailsViewPageEventArgs.cs
- DocumentSequence.cs
- DecoderNLS.cs
- TypedOperationInfo.cs
- ScrollProperties.cs
- ObjectItemAttributeAssemblyLoader.cs
- WorkflowOwnershipException.cs
- RuleSetCollection.cs
- _NativeSSPI.cs
- AsymmetricSignatureDeformatter.cs
- TransactionWaitAsyncResult.cs
- VirtualPathUtility.cs