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
- TextServicesLoader.cs
- PasswordTextNavigator.cs
- Exceptions.cs
- DataTableReaderListener.cs
- AttachInfo.cs
- Compiler.cs
- MetadataItem.cs
- ReliabilityContractAttribute.cs
- ObjectTag.cs
- OTFRasterizer.cs
- HttpCapabilitiesSectionHandler.cs
- BindingExpression.cs
- Bold.cs
- XmlSigningNodeWriter.cs
- Single.cs
- Stacktrace.cs
- _NetworkingPerfCounters.cs
- UnsafeNativeMethods.cs
- DataGridRowHeaderAutomationPeer.cs
- MinMaxParagraphWidth.cs
- XmlNamedNodeMap.cs
- ConsoleKeyInfo.cs
- MsmqAuthenticationMode.cs
- Panel.cs
- JsonWriter.cs
- ObjectStorage.cs
- GenericIdentity.cs
- HttpPostedFile.cs
- PackageRelationshipSelector.cs
- EntitySet.cs
- ExtenderProvidedPropertyAttribute.cs
- ButtonColumn.cs
- CookieParameter.cs
- XdrBuilder.cs
- VersionPair.cs
- Separator.cs
- _DisconnectOverlappedAsyncResult.cs
- StrongName.cs
- OptimalTextSource.cs
- GeometryCollection.cs
- BStrWrapper.cs
- ResourceDescriptionAttribute.cs
- SpotLight.cs
- Site.cs
- TypeBuilderInstantiation.cs
- GeneratedContractType.cs
- ScrollItemPattern.cs
- EllipseGeometry.cs
- DecoderNLS.cs
- Util.cs
- RepeaterItemCollection.cs
- ScriptResourceInfo.cs
- TouchDevice.cs
- COM2PropertyDescriptor.cs
- SqlDataSourceFilteringEventArgs.cs
- CommentEmitter.cs
- PriorityRange.cs
- ProfileSettingsCollection.cs
- RtfFormatStack.cs
- ToolTip.cs
- TemplatedControlDesigner.cs
- DependencyPropertyValueSerializer.cs
- FontSource.cs
- NetworkInterface.cs
- WorkflowPersistenceContext.cs
- WebPartZoneBase.cs
- StrokeCollectionConverter.cs
- PanelContainerDesigner.cs
- Serializer.cs
- ValueTypeFixupInfo.cs
- WebReferencesBuildProvider.cs
- XomlDesignerLoader.cs
- XsdBuildProvider.cs
- GreenMethods.cs
- ScriptHandlerFactory.cs
- TlsSspiNegotiation.cs
- NullableFloatAverageAggregationOperator.cs
- WebPartConnectionsDisconnectVerb.cs
- EventManager.cs
- SafeCryptoHandles.cs
- DuplexClientBase.cs
- PixelFormatConverter.cs
- Misc.cs
- HttpInputStream.cs
- DropTarget.cs
- IfAction.cs
- XmlCompatibilityReader.cs
- HandoffBehavior.cs
- RegexCapture.cs
- ErrorInfoXmlDocument.cs
- WorkflowInstanceExtensionCollection.cs
- XmlSchemas.cs
- PropertyItem.cs
- XmlQualifiedName.cs
- XMLUtil.cs
- HtmlControl.cs
- AgileSafeNativeMemoryHandle.cs
- DataGridDetailsPresenterAutomationPeer.cs
- MediaSystem.cs
- UnSafeCharBuffer.cs