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
- TogglePattern.cs
- PerformanceCounterCategory.cs
- BulletDecorator.cs
- OdbcErrorCollection.cs
- SmtpFailedRecipientException.cs
- SqlDataSource.cs
- IndexedSelectQueryOperator.cs
- TypedReference.cs
- BuildProviderUtils.cs
- _UncName.cs
- SymbolUsageManager.cs
- NamespaceCollection.cs
- TraceContextEventArgs.cs
- XmlTextEncoder.cs
- TdsParser.cs
- ObjectComplexPropertyMapping.cs
- SerializationAttributes.cs
- SafeNativeMethods.cs
- WindowsFormsHostAutomationPeer.cs
- SHA512.cs
- ExternalException.cs
- ProxyElement.cs
- GrammarBuilderDictation.cs
- MetadataArtifactLoaderResource.cs
- _HeaderInfo.cs
- ThicknessAnimation.cs
- ColumnMapVisitor.cs
- LinqDataView.cs
- PowerStatus.cs
- WmlLabelAdapter.cs
- _AutoWebProxyScriptHelper.cs
- PagePropertiesChangingEventArgs.cs
- TargetException.cs
- ToolStripItemImageRenderEventArgs.cs
- TreeNodeStyleCollectionEditor.cs
- ProvidersHelper.cs
- ToolStripContentPanelRenderEventArgs.cs
- SingleAnimationBase.cs
- SamlAudienceRestrictionCondition.cs
- EntryIndex.cs
- DataTemplateSelector.cs
- DataGridViewRowsAddedEventArgs.cs
- EditorZoneDesigner.cs
- XomlSerializationHelpers.cs
- WindowsAuthenticationEventArgs.cs
- CombinedHttpChannel.cs
- WpfWebRequestHelper.cs
- SqlDataSourceCommandEventArgs.cs
- StylusDownEventArgs.cs
- ZipIOBlockManager.cs
- Nullable.cs
- DbConnectionFactory.cs
- EntityKey.cs
- XmlSchemaType.cs
- DecoderFallbackWithFailureFlag.cs
- FontTypeConverter.cs
- ContentFileHelper.cs
- SourceItem.cs
- KeyFrames.cs
- ComplexLine.cs
- RawStylusInputCustomData.cs
- WebPartConnectionsConnectVerb.cs
- File.cs
- SequenceFullException.cs
- MembershipAdapter.cs
- MetadataArtifactLoaderFile.cs
- ValidationUtility.cs
- FileDialog_Vista.cs
- InvariantComparer.cs
- NavigationProperty.cs
- AmbientValueAttribute.cs
- SerializerDescriptor.cs
- EmbeddedObject.cs
- RoutingBehavior.cs
- DecimalMinMaxAggregationOperator.cs
- AutoFocusStyle.xaml.cs
- Section.cs
- UnaryNode.cs
- SingleSelectRootGridEntry.cs
- PhysicalFontFamily.cs
- RequestSecurityToken.cs
- EdmToObjectNamespaceMap.cs
- XmlCustomFormatter.cs
- NumberEdit.cs
- StylusEventArgs.cs
- SweepDirectionValidation.cs
- CodeIterationStatement.cs
- SqlError.cs
- Point3DAnimation.cs
- Popup.cs
- RemoteWebConfigurationHost.cs
- KeyValueSerializer.cs
- CommandValueSerializer.cs
- NamespaceList.cs
- DbModificationCommandTree.cs
- SequentialOutput.cs
- RegexInterpreter.cs
- TextTreeInsertUndoUnit.cs
- ProcessInputEventArgs.cs
- ThumbButtonInfoCollection.cs