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
- SizeF.cs
- XamlPoint3DCollectionSerializer.cs
- CheckBoxBaseAdapter.cs
- GPPOINTF.cs
- TreeViewAutomationPeer.cs
- InteropExecutor.cs
- RuntimeUtils.cs
- GradientStop.cs
- TypeForwardedToAttribute.cs
- SafeTimerHandle.cs
- AutoGeneratedFieldProperties.cs
- ActiveDocumentEvent.cs
- HwndSource.cs
- CubicEase.cs
- PageRouteHandler.cs
- RequestTimeoutManager.cs
- newitemfactory.cs
- UIAgentRequest.cs
- MetaType.cs
- AuthorizationPolicyTypeElement.cs
- SqlDataSourceView.cs
- CompilerParameters.cs
- HttpValueCollection.cs
- DataPagerCommandEventArgs.cs
- DataServicePagingProviderWrapper.cs
- Number.cs
- PiiTraceSource.cs
- ComponentConverter.cs
- ValidateNames.cs
- FixedPageAutomationPeer.cs
- OpCellTreeNode.cs
- WsdlHelpGeneratorElement.cs
- WindowsStatusBar.cs
- IPAddressCollection.cs
- FactoryMaker.cs
- AppliedDeviceFiltersDialog.cs
- TypeElement.cs
- ExpressionValueEditor.cs
- ModelChangedEventArgsImpl.cs
- EncodingNLS.cs
- ObjectPersistData.cs
- CompareInfo.cs
- TextClipboardData.cs
- FilterQueryOptionExpression.cs
- CollectionConverter.cs
- DataPagerField.cs
- MembershipPasswordException.cs
- WebColorConverter.cs
- ActivityDesignerHighlighter.cs
- EnumUnknown.cs
- Control.cs
- PropertyEmitter.cs
- _UriTypeConverter.cs
- RectangleHotSpot.cs
- SystemNetworkInterface.cs
- RelatedCurrencyManager.cs
- StorageAssociationTypeMapping.cs
- PenThread.cs
- DesignerRegionCollection.cs
- PropertySet.cs
- FormatSelectingMessageInspector.cs
- ContourSegment.cs
- SmtpMail.cs
- Interlocked.cs
- XmlNamespaceMapping.cs
- Config.cs
- HttpHandlerAction.cs
- EtwTrace.cs
- regiisutil.cs
- SequenceNumber.cs
- Input.cs
- BaseTemplateParser.cs
- ListBindingHelper.cs
- DelayedRegex.cs
- BaseParser.cs
- CodeAttributeDeclarationCollection.cs
- SqlStream.cs
- XmlSchemaObjectCollection.cs
- ValidationError.cs
- PropertyGeneratedEventArgs.cs
- LineBreak.cs
- NoPersistHandle.cs
- PageFunction.cs
- SchemaImporter.cs
- InternalRelationshipCollection.cs
- DataGridViewDataErrorEventArgs.cs
- EnvelopedSignatureTransform.cs
- SqlUtil.cs
- GrammarBuilderBase.cs
- XamlInt32CollectionSerializer.cs
- WorkflowWebService.cs
- RootBuilder.cs
- ToolStripDropTargetManager.cs
- InputLanguage.cs
- DispatcherOperation.cs
- DataGridCaption.cs
- DataGridViewSelectedRowCollection.cs
- VirtualDirectoryMappingCollection.cs
- Win32.cs
- CallbackValidatorAttribute.cs