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
- QueueException.cs
- XsltSettings.cs
- control.ime.cs
- Types.cs
- XmlIlGenerator.cs
- KeyValueInternalCollection.cs
- XmlReader.cs
- DbMetaDataColumnNames.cs
- BitmapEncoder.cs
- ellipse.cs
- CheckoutException.cs
- PixelFormatConverter.cs
- WebConvert.cs
- SimpleMailWebEventProvider.cs
- TableRowGroup.cs
- FormViewDeletedEventArgs.cs
- WindowInteractionStateTracker.cs
- ToggleProviderWrapper.cs
- OletxTransactionFormatter.cs
- CompositeScriptReferenceEventArgs.cs
- GreenMethods.cs
- Translator.cs
- WebPartConnectionsCloseVerb.cs
- uribuilder.cs
- WindowsToolbar.cs
- COM2ColorConverter.cs
- ConfigXmlElement.cs
- InputLanguageSource.cs
- PathBox.cs
- PriorityItem.cs
- MessageDecoder.cs
- EmulateRecognizeCompletedEventArgs.cs
- SingleSelectRootGridEntry.cs
- TemplateApplicationHelper.cs
- CultureMapper.cs
- RuntimeConfigurationRecord.cs
- ProgressChangedEventArgs.cs
- ServiceNameElement.cs
- AggregateNode.cs
- CompilerGlobalScopeAttribute.cs
- TypeConverterHelper.cs
- EditingCoordinator.cs
- InputLanguageEventArgs.cs
- DataStreams.cs
- WebPartExportVerb.cs
- XComponentModel.cs
- FixedSOMContainer.cs
- DefaultValueMapping.cs
- CultureNotFoundException.cs
- Script.cs
- FormClosedEvent.cs
- PropertyGrid.cs
- XslNumber.cs
- XmlSchemaSimpleContentExtension.cs
- DiscreteKeyFrames.cs
- UnSafeCharBuffer.cs
- PixelFormats.cs
- LinkLabelLinkClickedEvent.cs
- EnumMember.cs
- RowUpdatedEventArgs.cs
- EngineSiteSapi.cs
- VarRemapper.cs
- ProcessModelSection.cs
- EpmCustomContentWriterNodeData.cs
- CodeNamespaceImport.cs
- grammarelement.cs
- ConnectionStringEditor.cs
- MultidimensionalArrayItemReference.cs
- HttpDictionary.cs
- LinqExpressionNormalizer.cs
- OperationPickerDialog.cs
- odbcmetadatacollectionnames.cs
- MemberInfoSerializationHolder.cs
- ConfigViewGenerator.cs
- SqlConnectionString.cs
- HtmlCommandAdapter.cs
- Soap12FormatExtensions.cs
- DelegateBodyWriter.cs
- SubclassTypeValidator.cs
- JsonGlobals.cs
- SrgsDocument.cs
- GlobalizationSection.cs
- ElementHostPropertyMap.cs
- TextPattern.cs
- MemberPath.cs
- OrderedDictionaryStateHelper.cs
- ServiceObjectContainer.cs
- HttpCookie.cs
- FastPropertyAccessor.cs
- AddingNewEventArgs.cs
- ItemsControlAutomationPeer.cs
- wmiprovider.cs
- Operand.cs
- ContractComponent.cs
- StrokeCollectionDefaultValueFactory.cs
- DragStartedEventArgs.cs
- GradientSpreadMethodValidation.cs
- BinarySerializer.cs
- PhoneCallDesigner.cs
- WebPartHelpVerb.cs