Code:
/ DotNET / DotNET / 8.0 / untmp / Orcas / RTM / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ModelPerspective.cs
- CommonObjectSecurity.cs
- InvokeProviderWrapper.cs
- SelectionListComponentEditor.cs
- TimeSpanMinutesConverter.cs
- StreamUpgradeProvider.cs
- IncrementalCompileAnalyzer.cs
- LinkedResource.cs
- Menu.cs
- elementinformation.cs
- CapabilitiesAssignment.cs
- TraceRecord.cs
- FocusTracker.cs
- LingerOption.cs
- VerbConverter.cs
- LabelEditEvent.cs
- XmlCharCheckingReader.cs
- OptimizedTemplateContent.cs
- ArithmeticLiteral.cs
- XmlSchemaExternal.cs
- StorageEndPropertyMapping.cs
- LinkUtilities.cs
- Padding.cs
- UnorderedHashRepartitionStream.cs
- hwndwrapper.cs
- SapiInterop.cs
- HttpChannelListener.cs
- HwndKeyboardInputProvider.cs
- WebContext.cs
- NameValuePermission.cs
- ReadOnlyTernaryTree.cs
- dbdatarecord.cs
- CaseCqlBlock.cs
- DesignerActionUI.cs
- WebPartManagerDesigner.cs
- SqlDataSourceFilteringEventArgs.cs
- Header.cs
- ExpressionNode.cs
- CornerRadius.cs
- EncoderNLS.cs
- DataGridViewColumnHeaderCell.cs
- WebPartDeleteVerb.cs
- BulletedList.cs
- BaseCodeDomTreeGenerator.cs
- NumericUpDown.cs
- WindowsButton.cs
- ErrorLog.cs
- LinkLabel.cs
- TableRow.cs
- SrgsText.cs
- ValidationContext.cs
- CodeTypeReference.cs
- PermissionAttributes.cs
- QueryExpr.cs
- SecurityRuntime.cs
- HtmlImage.cs
- TableLayoutPanelDesigner.cs
- Roles.cs
- AxisAngleRotation3D.cs
- GroupJoinQueryOperator.cs
- KerberosSecurityTokenAuthenticator.cs
- GZipStream.cs
- CryptoProvider.cs
- _ListenerRequestStream.cs
- QueryOptionExpression.cs
- ColumnMapCopier.cs
- HijriCalendar.cs
- columnmapfactory.cs
- AssociationTypeEmitter.cs
- DateTimeUtil.cs
- Faults.cs
- ImageAttributes.cs
- TextureBrush.cs
- SqlColumnizer.cs
- XPathDescendantIterator.cs
- NativeMethods.cs
- QilIterator.cs
- _RegBlobWebProxyDataBuilder.cs
- DefaultTraceListener.cs
- ExceptionValidationRule.cs
- XmlDictionary.cs
- EntityDataSourceDataSelection.cs
- DataSourceXmlElementAttribute.cs
- ConfigurationManager.cs
- XamlStyleSerializer.cs
- ViewValidator.cs
- XmlSchemaSimpleTypeList.cs
- TextureBrush.cs
- MessageOperationFormatter.cs
- FileVersion.cs
- LocatorPart.cs
- COM2IDispatchConverter.cs
- WebServiceFaultDesigner.cs
- PackWebResponse.cs
- AsymmetricSignatureFormatter.cs
- X509RawDataKeyIdentifierClause.cs
- TdsParserSafeHandles.cs
- Preprocessor.cs
- InvalidFilterCriteriaException.cs
- WSSecurityOneDotOneSendSecurityHeader.cs