Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Web / System / Web / Services / Description / SoapHttpTransportImporter.cs / 1305376 / SoapHttpTransportImporter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Services.Description { using System.CodeDom; using System.Web.Services.Protocols; internal class SoapHttpTransportImporter : SoapTransportImporter { public override bool IsSupportedTransport(string transport) { return transport == SoapBinding.HttpTransport; } public override void ImportClass() { // grab this here so it gets marked "handled" for both client and server SoapAddressBinding soapAddress = ImportContext.Port == null ? null : (SoapAddressBinding)ImportContext.Port.Extensions.Find(typeof(SoapAddressBinding)); if (ImportContext.Style == ServiceDescriptionImportStyle.Client) { ImportContext.CodeTypeDeclaration.BaseTypes.Add(typeof(SoapHttpClientProtocol).FullName); CodeConstructor ctor = WebCodeGenerator.AddConstructor(ImportContext.CodeTypeDeclaration, new string[0], new string[0], null, CodeFlags.IsPublic); ctor.Comments.Add(new CodeCommentStatement(Res.GetString(Res.CodeRemarks), true)); bool soap11 = true; if (ImportContext is Soap12ProtocolImporter) { soap11 = false; // add version code CodeTypeReferenceExpression versionEnumTypeReference = new CodeTypeReferenceExpression(typeof(SoapProtocolVersion)); CodeFieldReferenceExpression versionEnumFieldReference = new CodeFieldReferenceExpression(versionEnumTypeReference, Enum.Format(typeof(SoapProtocolVersion), SoapProtocolVersion.Soap12, "G")); CodePropertyReferenceExpression versionPropertyReference = new CodePropertyReferenceExpression(new CodeThisReferenceExpression(), "SoapVersion"); CodeAssignStatement assignVersionStatement = new CodeAssignStatement(versionPropertyReference, versionEnumFieldReference); ctor.Statements.Add(assignVersionStatement); } ServiceDescription serviceDescription = ImportContext.Binding.ServiceDescription; string url = (soapAddress != null) ? soapAddress.Location : null; string urlKey = serviceDescription.AppSettingUrlKey; string baseUrl = serviceDescription.AppSettingBaseUrl; ProtocolImporterUtil.GenerateConstructorStatements(ctor, url, urlKey, baseUrl, soap11 && !ImportContext.IsEncodedBinding); } else if (ImportContext.Style == ServiceDescriptionImportStyle.Server) { ImportContext.CodeTypeDeclaration.BaseTypes.Add(typeof(WebService).FullName); } } } } // 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
- ModelServiceImpl.cs
- HorizontalAlignConverter.cs
- CacheSection.cs
- FileLevelControlBuilderAttribute.cs
- GroupBox.cs
- Utils.cs
- ListControl.cs
- COSERVERINFO.cs
- XPathNodeHelper.cs
- PersistenceTypeAttribute.cs
- TiffBitmapDecoder.cs
- ListControl.cs
- BevelBitmapEffect.cs
- DesignerSerializerAttribute.cs
- ColorComboBox.cs
- CodeMemberProperty.cs
- GroupItem.cs
- FigureParagraph.cs
- XPathDocumentIterator.cs
- OdbcTransaction.cs
- SQLBinary.cs
- StorageAssociationTypeMapping.cs
- IteratorDescriptor.cs
- TagPrefixInfo.cs
- BitmapScalingModeValidation.cs
- HMACSHA512.cs
- StateRuntime.cs
- SoapTypeAttribute.cs
- JournalEntryStack.cs
- DbProviderManifest.cs
- VoiceObjectToken.cs
- Version.cs
- XmlNotation.cs
- UInt64Storage.cs
- FrameAutomationPeer.cs
- TransactionManager.cs
- UniqueIdentifierService.cs
- ExpressionPrinter.cs
- PrintingPermissionAttribute.cs
- ManagementEventWatcher.cs
- CodeAttributeDeclaration.cs
- HttpInputStream.cs
- sqlinternaltransaction.cs
- PackWebRequestFactory.cs
- WebPageTraceListener.cs
- FreezableCollection.cs
- GlyphManager.cs
- InvalidPrinterException.cs
- SchemaComplexType.cs
- DbProviderFactories.cs
- ProjectionCamera.cs
- DetailsViewActionList.cs
- DetailsViewModeEventArgs.cs
- StateManagedCollection.cs
- WindowsGraphics.cs
- NotifyParentPropertyAttribute.cs
- Pair.cs
- OracleNumber.cs
- BuilderInfo.cs
- StorageBasedPackageProperties.cs
- KeyEvent.cs
- CqlParserHelpers.cs
- WpfGeneratedKnownTypes.cs
- EntityDesignPluralizationHandler.cs
- SafeUserTokenHandle.cs
- ClosableStream.cs
- CapabilitiesAssignment.cs
- PreviewPageInfo.cs
- Translator.cs
- MediaContextNotificationWindow.cs
- basecomparevalidator.cs
- AppSettingsExpressionBuilder.cs
- GroupBoxDesigner.cs
- FixedFlowMap.cs
- EntityDataSourceView.cs
- CodeTypeDelegate.cs
- LogLogRecordHeader.cs
- DSACryptoServiceProvider.cs
- PagesSection.cs
- AlignmentXValidation.cs
- PersistChildrenAttribute.cs
- TypeBuilderInstantiation.cs
- XmlWhitespace.cs
- LazyLoadBehavior.cs
- QueryTreeBuilder.cs
- ListItemCollection.cs
- AliasedSlot.cs
- Compiler.cs
- MenuBase.cs
- ChangePasswordDesigner.cs
- TreeViewEvent.cs
- UpdatePanel.cs
- ThreadExceptionDialog.cs
- _NtlmClient.cs
- TreeNodeStyleCollection.cs
- Filter.cs
- ObjectQueryExecutionPlan.cs
- WindowsFormsSectionHandler.cs
- ContractAdapter.cs
- SqlVisitor.cs