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
- ManualResetEvent.cs
- ValueProviderWrapper.cs
- LocatorManager.cs
- ConvertEvent.cs
- formatstringdialog.cs
- ConfigurationStrings.cs
- WorkflowEnvironment.cs
- InputReferenceExpression.cs
- FixedDSBuilder.cs
- UriTemplateHelpers.cs
- EdmFunction.cs
- QueryCacheKey.cs
- Polygon.cs
- TraceInternal.cs
- SqlRemoveConstantOrderBy.cs
- StatusBarItem.cs
- ApplicationInterop.cs
- TextRangeEditTables.cs
- Line.cs
- TagNameToTypeMapper.cs
- CodeNamespace.cs
- ArithmeticException.cs
- ComponentGuaranteesAttribute.cs
- Trace.cs
- XmlCountingReader.cs
- controlskin.cs
- RowUpdatedEventArgs.cs
- EmptyEnumerable.cs
- Dictionary.cs
- AmbientLight.cs
- XsltCompileContext.cs
- EntityViewGenerator.cs
- PageThemeCodeDomTreeGenerator.cs
- CLRBindingWorker.cs
- XmlSchemaAttribute.cs
- HttpResponseMessageProperty.cs
- Propagator.Evaluator.cs
- HTTPAPI_VERSION.cs
- ColorIndependentAnimationStorage.cs
- PartManifestEntry.cs
- Interlocked.cs
- State.cs
- FrameworkPropertyMetadata.cs
- TextEvent.cs
- XmlWhitespace.cs
- LOSFormatter.cs
- EncoderParameters.cs
- TraceSection.cs
- GridItemPatternIdentifiers.cs
- TextFragmentEngine.cs
- CodeDefaultValueExpression.cs
- _ConnectStream.cs
- PropertyGeneratedEventArgs.cs
- ArrayWithOffset.cs
- XmlComplianceUtil.cs
- SqlDependencyListener.cs
- SqlNodeAnnotation.cs
- BackgroundWorker.cs
- ProxyGenerationError.cs
- ButtonPopupAdapter.cs
- SemaphoreSecurity.cs
- CreateUserWizardStep.cs
- HuffModule.cs
- ConfigurationValidatorBase.cs
- SuppressIldasmAttribute.cs
- WebPartHelpVerb.cs
- Int32CollectionConverter.cs
- Set.cs
- CodeSnippetCompileUnit.cs
- ExtractorMetadata.cs
- DesignTimeParseData.cs
- ThousandthOfEmRealPoints.cs
- WsrmTraceRecord.cs
- NamespaceListProperty.cs
- EpmContentSerializerBase.cs
- TreeNodeSelectionProcessor.cs
- RtfControls.cs
- CellQuery.cs
- AssociationTypeEmitter.cs
- DataGridTableStyleMappingNameEditor.cs
- JsonXmlDataContract.cs
- AccessibleObject.cs
- HyperLinkField.cs
- InstallerTypeAttribute.cs
- TextPenaltyModule.cs
- VersionedStream.cs
- ControlHelper.cs
- ListBase.cs
- Enum.cs
- CachedPathData.cs
- InplaceBitmapMetadataWriter.cs
- NativeMethods.cs
- MappedMetaModel.cs
- TileModeValidation.cs
- followingsibling.cs
- AuthenticationConfig.cs
- MetadataArtifactLoaderCompositeResource.cs
- PresentationAppDomainManager.cs
- VirtualizedContainerService.cs
- Validator.cs