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
- SuppressMessageAttribute.cs
- KnowledgeBase.cs
- ChannelSinkStacks.cs
- Mouse.cs
- DbBuffer.cs
- TcpSocketManager.cs
- RevocationPoint.cs
- ParseHttpDate.cs
- UIElementPropertyUndoUnit.cs
- BuildProviderUtils.cs
- TileBrush.cs
- PenThreadWorker.cs
- DoubleKeyFrameCollection.cs
- SimpleRecyclingCache.cs
- BooleanAnimationBase.cs
- ApplicationServiceHelper.cs
- DocumentApplication.cs
- securitymgrsite.cs
- ApplicationBuildProvider.cs
- PageRanges.cs
- TextSearch.cs
- ConnectionManagementElementCollection.cs
- CTreeGenerator.cs
- MemberPath.cs
- EventlogProvider.cs
- ContainerUIElement3D.cs
- DesignerValidationSummaryAdapter.cs
- AttributedMetaModel.cs
- OutputCacheSection.cs
- GZipDecoder.cs
- TerminateSequence.cs
- XamlDesignerSerializationManager.cs
- EntityDataReader.cs
- StringCollectionEditor.cs
- UnaryNode.cs
- HeaderElement.cs
- SecurityUtils.cs
- ExpressionBuilderCollection.cs
- XPathChildIterator.cs
- TimestampInformation.cs
- UnmanagedMarshal.cs
- activationcontext.cs
- CodePageEncoding.cs
- HorizontalAlignConverter.cs
- CodeDirectionExpression.cs
- SqlNodeAnnotation.cs
- PreApplicationStartMethodAttribute.cs
- TrackingLocation.cs
- HttpServerVarsCollection.cs
- Reference.cs
- Cursors.cs
- TextSelectionHelper.cs
- NativeMethodsOther.cs
- ConfigurationElement.cs
- CryptoHelper.cs
- PrincipalPermission.cs
- FileStream.cs
- Debugger.cs
- SqlDataSourceCommandEventArgs.cs
- DomainUpDown.cs
- SQLBoolean.cs
- BitmapImage.cs
- TreeNodeCollection.cs
- PropertyInfoSet.cs
- LinkButton.cs
- DefaultProxySection.cs
- RadioButtonFlatAdapter.cs
- ActivityTypeCodeDomSerializer.cs
- TreeNodeSelectionProcessor.cs
- VisualBasicDesignerHelper.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- LayoutEditorPart.cs
- EventPropertyMap.cs
- RegistrySecurity.cs
- BaseHashHelper.cs
- XmlSchemaInclude.cs
- DataGridViewCellFormattingEventArgs.cs
- ToolStripItem.cs
- DataGridViewCellCollection.cs
- XmlElement.cs
- ProxyAttribute.cs
- ContractsBCL.cs
- Binding.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- ExceptionRoutedEventArgs.cs
- PropertyEntry.cs
- RectKeyFrameCollection.cs
- ReaderContextStackData.cs
- DragAssistanceManager.cs
- WsdlInspector.cs
- MissingMemberException.cs
- FragmentQuery.cs
- Floater.cs
- DataListCommandEventArgs.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- CodeTypeDeclarationCollection.cs
- MissingMemberException.cs
- CacheSection.cs
- GuidelineSet.cs
- ValueSerializer.cs