Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / Script / Services / ProxyGenerator.cs / 1305376 / ProxyGenerator.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Script.Services { using System; using System.Globalization; using System.ServiceModel; using System.ServiceModel.Description; using System.Web.Resources; public static class ProxyGenerator { public static string GetClientProxyScript(Type type, string path, bool debug) { return GetClientProxyScript(type, path, debug, null); } public static string GetClientProxyScript(Type type, string path, bool debug, ServiceEndpoint serviceEndpoint) { if (type == null) { throw new ArgumentNullException("type"); } if (path == null) { throw new ArgumentNullException("path"); } WebServiceData webServiceData = null; ClientProxyGenerator proxyGenerator = null; if (IsWebServiceType(type)) { proxyGenerator = new WebServiceClientProxyGenerator(path, debug); webServiceData = new WebServiceData(type, false); } else if (IsPageType(type)) { proxyGenerator = new PageClientProxyGenerator(path, debug); webServiceData = new WebServiceData(type, true); } else if(IsWCFServiceType(type)){ return WCFServiceClientProxyGenerator.GetClientProxyScript(type, path, debug, serviceEndpoint); } else { throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, AtlasWeb.ProxyGenerator_UnsupportedType, type.FullName)); } return proxyGenerator.GetClientProxyScript(webServiceData); } private static bool IsPageType(Type type) { return typeof(System.Web.UI.Page).IsAssignableFrom(type); } private static bool IsWCFServiceType(Type type) { object[] attribs = type.GetCustomAttributes(typeof(ServiceContractAttribute), true); return (attribs.Length != 0); } private static bool IsWebServiceType(Type type) { object[] attribs = type.GetCustomAttributes(typeof(ScriptServiceAttribute), true); return (attribs.Length != 0); } } } // 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
- MultiPageTextView.cs
- MachineKeySection.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- ExpressionPrefixAttribute.cs
- RepeatBehaviorConverter.cs
- ValidationHelper.cs
- Function.cs
- FixedDocument.cs
- ContentHostHelper.cs
- MissingManifestResourceException.cs
- CodeMethodMap.cs
- ByteStreamGeometryContext.cs
- DoubleCollection.cs
- SignalGate.cs
- RemoteCryptoSignHashRequest.cs
- BrowserTree.cs
- XmlSchemaAnnotated.cs
- TransactionFlowBindingElementImporter.cs
- HttpRequestWrapper.cs
- PenThread.cs
- StorageEntitySetMapping.cs
- HttpAsyncResult.cs
- WindowsSpinner.cs
- BinaryNode.cs
- CodeNamespaceImport.cs
- Rotation3DAnimationBase.cs
- ArrayElementGridEntry.cs
- DataPagerField.cs
- PartialList.cs
- ObjectListItemCollection.cs
- GridViewColumnHeader.cs
- TextTreeTextNode.cs
- SystemIPGlobalStatistics.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- PeerNameRecord.cs
- Internal.cs
- UpdateCommand.cs
- CultureTableRecord.cs
- ScopelessEnumAttribute.cs
- FileSystemInfo.cs
- MessageSecurityProtocolFactory.cs
- FontWeightConverter.cs
- UIAgentAsyncBeginRequest.cs
- DictionaryKeyPropertyAttribute.cs
- CodeMemberEvent.cs
- RenderData.cs
- FormsAuthenticationConfiguration.cs
- EntityClientCacheEntry.cs
- StringDictionary.cs
- CoTaskMemUnicodeSafeHandle.cs
- RewritingPass.cs
- VerticalAlignConverter.cs
- XmlArrayItemAttributes.cs
- ObjectQueryProvider.cs
- SqlCommand.cs
- TextMetrics.cs
- RuleProcessor.cs
- Base64Decoder.cs
- InArgumentConverter.cs
- HtmlElementEventArgs.cs
- COM2Enum.cs
- WizardForm.cs
- DbInsertCommandTree.cs
- FixedFindEngine.cs
- sqlser.cs
- HtmlLabelAdapter.cs
- RolePrincipal.cs
- Mapping.cs
- TypeConverter.cs
- UriSection.cs
- KeyTimeConverter.cs
- Literal.cs
- UnaryNode.cs
- BlurBitmapEffect.cs
- BookmarkEventArgs.cs
- NumericExpr.cs
- TableCell.cs
- TypeForwardedToAttribute.cs
- WebBrowserEvent.cs
- InfoCardTrace.cs
- ImageAutomationPeer.cs
- Timeline.cs
- WindowsButton.cs
- DateTimePickerDesigner.cs
- MenuCommands.cs
- NaturalLanguageHyphenator.cs
- ObjectViewQueryResultData.cs
- LongCountAggregationOperator.cs
- ProfessionalColors.cs
- SafeNativeMethods.cs
- MsmqBindingElementBase.cs
- StateMachine.cs
- DockAndAnchorLayout.cs
- Compiler.cs
- Restrictions.cs
- KnownTypesProvider.cs
- NetPeerTcpBinding.cs
- MetadataArtifactLoader.cs
- SoapEnumAttribute.cs
- WebResponse.cs