Exemplo n.º 1
0
        public Collection <IWsdlImportExtension> LoadWsdlImportExtensions()
        {
            Collection <IWsdlImportExtension> col = new Collection <IWsdlImportExtension> ();

            for (int i = 0; i < WsdlImporters.Count; i++)
            {
                Type t = Type.GetType(WsdlImporters [i].Type);
                IWsdlImportExtension ext = (IWsdlImportExtension)Activator.CreateInstance(t);
                col.Add(ext);
            }
            return(col);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Remove(s) DataContract serialization extension(s). Because we only generate XmlSerializer serializable types in
 /// order to support broader set of XSD constructs.
 /// </summary>
 private void RemoveDataContractSerializerExtension()
 {
     for (int i = 0; i < wsdlImporter.WsdlImportExtensions.Count; i++)
     {
         IWsdlImportExtension iext = wsdlImporter.WsdlImportExtensions[i];
         DataContractSerializerMessageContractImporter dcsmci = iext as DataContractSerializerMessageContractImporter;
         if (dcsmci != null)
         {
             wsdlImporter.WsdlImportExtensions.RemoveAt(i);
             break;
         }
     }
 }
        private static void AddStateForDataContractSerializerImport(WsdlImporter importer, MetadataImporterSerializerFormatMode formatMode, CodeCompileUnit codeCompileUnit, CodeDomProvider codeDomProvider)
        {
            XsdDataContractImporter xsdDataContractImporter = new XsdDataContractImporter(codeCompileUnit);
            xsdDataContractImporter.Options = CreateDataContractImportOptions(formatMode, codeDomProvider);
            importer.State.Add(typeof(XsdDataContractImporter), xsdDataContractImporter);

            for (int i = 0; i < importer.WsdlImportExtensions.Count; i++)
            {
                IWsdlImportExtension importExtension = importer.WsdlImportExtensions[i];
                DataContractSerializerMessageContractImporter dataContractSerializerMessageContractImporter = importExtension as DataContractSerializerMessageContractImporter;

                if (dataContractSerializerMessageContractImporter != null)
                {
                    dataContractSerializerMessageContractImporter.Enabled = formatMode != MetadataImporterSerializerFormatMode.XmlSerializer;
                }
            }
        }