Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / xsp / System / Web / Extensions / ui / ServiceReference.cs / 1 / 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
- NamespaceCollection.cs
- SubMenuStyleCollection.cs
- PrtTicket_Public.cs
- ToolStripSplitStackLayout.cs
- CodeGotoStatement.cs
- HttpRuntime.cs
- ActivityFunc.cs
- TextPenaltyModule.cs
- ParallelTimeline.cs
- ParserHooks.cs
- TimeSpanValidatorAttribute.cs
- OutOfMemoryException.cs
- TraceContextEventArgs.cs
- UMPAttributes.cs
- ListBindingHelper.cs
- GridItemCollection.cs
- FrameworkRichTextComposition.cs
- CodeNamespace.cs
- TextDecorationCollection.cs
- GenericPrincipal.cs
- OracleDataReader.cs
- TextBoxRenderer.cs
- TaiwanLunisolarCalendar.cs
- ResourceKey.cs
- SafeFindHandle.cs
- BitmapSizeOptions.cs
- localization.cs
- CurrentTimeZone.cs
- DoubleKeyFrameCollection.cs
- WorkflowDefinitionContext.cs
- FindCriteria11.cs
- CodePropertyReferenceExpression.cs
- RadioButtonBaseAdapter.cs
- Keywords.cs
- FormatStringEditor.cs
- DecoratedNameAttribute.cs
- ComPersistableTypeElementCollection.cs
- Task.cs
- SocketException.cs
- XmlEncodedRawTextWriter.cs
- DoubleAnimationBase.cs
- FormsAuthentication.cs
- PathGradientBrush.cs
- RelAssertionDirectKeyIdentifierClause.cs
- OutputCacheModule.cs
- ContentOperations.cs
- TiffBitmapEncoder.cs
- DataContractAttribute.cs
- OdbcDataReader.cs
- FixedPageAutomationPeer.cs
- TextEditorSpelling.cs
- DelimitedListTraceListener.cs
- TaskFormBase.cs
- GACMembershipCondition.cs
- ImpersonateTokenRef.cs
- OleDbPropertySetGuid.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- Normalization.cs
- WebDisplayNameAttribute.cs
- TreeNodeSelectionProcessor.cs
- HwndTarget.cs
- LinqDataSourceInsertEventArgs.cs
- ButtonBaseAdapter.cs
- FileUpload.cs
- QilSortKey.cs
- ErrorHandler.cs
- FlowchartStart.xaml.cs
- DBDataPermissionAttribute.cs
- SocketPermission.cs
- TransformCryptoHandle.cs
- StringValidatorAttribute.cs
- RelatedImageListAttribute.cs
- XmlSignatureManifest.cs
- SpecularMaterial.cs
- RequestCachingSection.cs
- DataGridViewRowStateChangedEventArgs.cs
- ServiceModelSecurityTokenRequirement.cs
- TileBrush.cs
- FormsAuthenticationUserCollection.cs
- PersonalizationStateQuery.cs
- XmlSchemaValidationException.cs
- RequiredFieldValidator.cs
- XmlSchemaComplexContentRestriction.cs
- DataSourceProvider.cs
- DataServiceKeyAttribute.cs
- Nodes.cs
- Visual3DCollection.cs
- Subtree.cs
- GuidelineSet.cs
- ContainerFilterService.cs
- TraceContext.cs
- SwitchLevelAttribute.cs
- ConfigurationStrings.cs
- CustomAttribute.cs
- ProcessThreadCollection.cs
- BindingContext.cs
- CustomValidator.cs
- EncoderNLS.cs
- EndpointConfigContainer.cs
- TypeUsageBuilder.cs