Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- XmlSchemaRedefine.cs
- ManipulationVelocities.cs
- RegexTree.cs
- ContextQuery.cs
- HtmlWindowCollection.cs
- FlowDocumentView.cs
- Hash.cs
- DefaultCommandExtensionCallback.cs
- XmlSchemaAttributeGroupRef.cs
- HitTestFilterBehavior.cs
- WebPartDisplayModeCollection.cs
- xml.cs
- ObjectDataSourceEventArgs.cs
- TargetConverter.cs
- GeneralTransform2DTo3D.cs
- MultiSelectRootGridEntry.cs
- DesignSurfaceManager.cs
- SoapMessage.cs
- SqlMethods.cs
- ToolZone.cs
- BufferedGraphics.cs
- XmlNavigatorStack.cs
- NativeMethods.cs
- SystemUdpStatistics.cs
- StyleCollection.cs
- AvTraceFormat.cs
- CompilerInfo.cs
- Models.cs
- smtpconnection.cs
- LinkedResource.cs
- RegexNode.cs
- InvokePatternIdentifiers.cs
- WorkflowMarkupSerializationManager.cs
- FrameworkElementFactory.cs
- XmlSerializerVersionAttribute.cs
- URLMembershipCondition.cs
- SmiRecordBuffer.cs
- NavigationProperty.cs
- List.cs
- RelatedEnd.cs
- QuadTree.cs
- VisualTarget.cs
- SerializableAttribute.cs
- AdPostCacheSubstitution.cs
- CodeCompileUnit.cs
- SchemaTableColumn.cs
- ScriptComponentDescriptor.cs
- ValidatorCompatibilityHelper.cs
- AssemblyResourceLoader.cs
- FileIOPermission.cs
- TempFiles.cs
- DoubleAnimationUsingKeyFrames.cs
- ProfileProvider.cs
- InvalidPropValue.cs
- ColorConverter.cs
- MgmtConfigurationRecord.cs
- Opcode.cs
- DataGridViewTextBoxEditingControl.cs
- HtmlInputSubmit.cs
- RolePrincipal.cs
- WorkflowTransactionOptions.cs
- PerspectiveCamera.cs
- AuthorizationRule.cs
- WCFServiceClientProxyGenerator.cs
- DatePickerTextBox.cs
- SessionParameter.cs
- InfoCardProofToken.cs
- InputScopeConverter.cs
- FlowLayout.cs
- ArgumentFixer.cs
- StrongNameIdentityPermission.cs
- FilterFactory.cs
- MimeTypeMapper.cs
- ContractCodeDomInfo.cs
- CharacterMetrics.cs
- ResourceAttributes.cs
- MarkedHighlightComponent.cs
- EventLogInformation.cs
- DataGridViewCellCollection.cs
- unsafenativemethodsother.cs
- Atom10ItemFormatter.cs
- CqlLexerHelpers.cs
- CssTextWriter.cs
- EmptyEnumerator.cs
- FormViewPagerRow.cs
- ThreadStartException.cs
- Stackframe.cs
- ToolStripItemRenderEventArgs.cs
- PrePrepareMethodAttribute.cs
- OutputScope.cs
- MulticastNotSupportedException.cs
- XmlElementAttribute.cs
- Activity.cs
- XPathDocumentNavigator.cs
- StrokeFIndices.cs
- Journal.cs
- RC2CryptoServiceProvider.cs
- RequestNavigateEventArgs.cs
- UDPClient.cs
- StickyNoteHelper.cs