/// <summary> /// get an Assembly according to wsdl path. /// </summary> /// <param name="wsdl">wsdl path</param> /// <param name="nameSpace">namespace</param> /// <returns>return Assembly</returns> public static Assembly GetWebServiceAssembly(string wsdl, string nameSpace) { try { System.Net.WebClient webClient = new System.Net.WebClient(); System.IO.Stream webStream = webClient.OpenRead(wsdl); ServiceDescription serviceDescription = ServiceDescription.Read(webStream); ServiceDescriptionImporter serviceDescroptImporter = new ServiceDescriptionImporter(); serviceDescroptImporter.AddServiceDescription(serviceDescription, "", ""); System.CodeDom.CodeNamespace codeNameSpace = new System.CodeDom.CodeNamespace(nameSpace); System.CodeDom.CodeCompileUnit codeCompileUnit = new System.CodeDom.CodeCompileUnit(); codeCompileUnit.Namespaces.Add(codeNameSpace); serviceDescroptImporter.Import(codeNameSpace, codeCompileUnit); System.CodeDom.Compiler.CodeDomProvider codeDom = new Microsoft.CSharp.CSharpCodeProvider(); System.CodeDom.Compiler.CompilerParameters codeParameters = new System.CodeDom.Compiler.CompilerParameters(); codeParameters.GenerateExecutable = false; codeParameters.GenerateInMemory = true; codeParameters.ReferencedAssemblies.Add("System.dll"); codeParameters.ReferencedAssemblies.Add("System.XML.dll"); codeParameters.ReferencedAssemblies.Add("System.Web.Services.dll"); codeParameters.ReferencedAssemblies.Add("System.Data.dll"); System.CodeDom.Compiler.CompilerResults compilerResults = codeDom.CompileAssemblyFromDom(codeParameters, codeCompileUnit); return compilerResults.CompiledAssembly; } catch (Exception ex) { throw ex; } }
private int InvokeWebservice(string url, string @namespace, string classname, string methodname, object[] args) { try { System.Net.WebClient wc = new System.Net.WebClient(); System.IO.Stream stream = wc.OpenRead(url); System.Web.Services.Description.ServiceDescription sd = System.Web.Services.Description.ServiceDescription.Read(stream); System.Web.Services.Description.ServiceDescriptionImporter sdi = new System.Web.Services.Description.ServiceDescriptionImporter(); sdi.AddServiceDescription(sd, "", ""); System.CodeDom.CodeNamespace cn = new System.CodeDom.CodeNamespace(@namespace); System.CodeDom.CodeCompileUnit ccu = new System.CodeDom.CodeCompileUnit(); ccu.Namespaces.Add(cn); sdi.Import(cn, ccu); Microsoft.CSharp.CSharpCodeProvider csc = new Microsoft.CSharp.CSharpCodeProvider(); System.CodeDom.Compiler.ICodeCompiler icc = csc.CreateCompiler(); System.CodeDom.Compiler.CompilerParameters cplist = new System.CodeDom.Compiler.CompilerParameters(); cplist.GenerateExecutable = false; cplist.GenerateInMemory = true; cplist.ReferencedAssemblies.Add("System.dll"); cplist.ReferencedAssemblies.Add("System.XML.dll"); cplist.ReferencedAssemblies.Add("System.Web.Services.dll"); cplist.ReferencedAssemblies.Add("System.Data.dll"); System.CodeDom.Compiler.CompilerResults cr = icc.CompileAssemblyFromDom(cplist, ccu); if (true == cr.Errors.HasErrors) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); foreach (System.CodeDom.Compiler.CompilerError ce in cr.Errors) { sb.Append(ce.ToString()); sb.Append(System.Environment.NewLine); } throw new Exception(sb.ToString()); } System.Reflection.Assembly assembly = cr.CompiledAssembly; Type t = assembly.GetType(@namespace + "." + classname, true, true); object obj = Activator.CreateInstance(t); System.Reflection.MethodInfo mi = t.GetMethod(methodname); mi.Invoke(obj, args); } catch { return(-1); } return(1); }
//public void SendMail(string mailTo, string mailSubject, string content) //{ // object[] methodParams = new object[4]; // methodParams[0] = new object(); // methodParams[1] = new object(); // methodParams[2] = new object(); // methodParams[3] = new object(); // methodParams[0] = mailTo; // methodParams[1] = true; // methodParams[2] = mailSubject; // methodParams[3] = content; // InvokeWebservice(ConfigData.MailURL, "Achievo.MMIP.CommonWebService", "EMail", "SendByAdmin", methodParams); //} /// 根据指定的信息,调用远程WebService方法 /// </summary> /// <param name="url">WebService的http形式的地址</param> /// <param name="namespace">欲调用的WebService的命名空间</param> /// <param name="classname">欲调用的WebService的类名(不包括命名空间前缀)</param> /// <param name="methodname">欲调用的WebService的方法名</param> /// <param name="args">参数列表</param> /// <returns>WebService的执行结果</returns> /// <remarks> /// 如果调用失败,将会抛出Exception。请调用的时候,适当截获异常。 /// 异常信息可能会发生在两个地方: /// 1、动态构造WebService的时候,CompileAssembly失败。 /// 2、WebService本身执行失败。 /// </remarks> /// <example> /// <code> /// object obj = InvokeWebservice("http://localhost/GSP_WorkflowWebservice/common.asmx", /// "Genersoft.Platform.Service.Workflow", /// "Common", /// "GetToolType", /// new object[]{"1"}); /// </code> /// </example> public object InvokeWebservice(string url, string @namespace, string classname, string methodname, object[] args) { try { System.Net.WebClient wc = new System.Net.WebClient(); System.IO.Stream stream = wc.OpenRead(url + "?WSDL"); System.Web.Services.Description.ServiceDescription sd = System.Web.Services.Description.ServiceDescription.Read(stream); System.Web.Services.Description.ServiceDescriptionImporter sdi = new System.Web.Services.Description.ServiceDescriptionImporter(); sdi.AddServiceDescription(sd, "", ""); System.CodeDom.CodeNamespace cn = new System.CodeDom.CodeNamespace(@namespace); System.CodeDom.CodeCompileUnit ccu = new System.CodeDom.CodeCompileUnit(); ccu.Namespaces.Add(cn); sdi.Import(cn, ccu); Microsoft.CSharp.CSharpCodeProvider csc = new Microsoft.CSharp.CSharpCodeProvider(); System.CodeDom.Compiler.ICodeCompiler icc = csc.CreateCompiler(); System.CodeDom.Compiler.CompilerParameters cplist = new System.CodeDom.Compiler.CompilerParameters(); cplist.GenerateExecutable = false; cplist.GenerateInMemory = true; cplist.ReferencedAssemblies.Add("System.dll"); cplist.ReferencedAssemblies.Add("System.XML.dll"); cplist.ReferencedAssemblies.Add("System.Web.Services.dll"); cplist.ReferencedAssemblies.Add("System.Data.dll"); System.CodeDom.Compiler.CompilerResults cr = icc.CompileAssemblyFromDom(cplist, ccu); if (true == cr.Errors.HasErrors) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); foreach (System.CodeDom.Compiler.CompilerError ce in cr.Errors) { sb.Append(ce.ToString()); sb.Append(System.Environment.NewLine); } throw new Exception(sb.ToString()); } System.Reflection.Assembly assembly = cr.CompiledAssembly; Type t = assembly.GetType(@namespace + "." + classname, true, true); object obj = Activator.CreateInstance(t); System.Reflection.MethodInfo mi = t.GetMethod(methodname); return mi.Invoke(obj, args); } catch (Exception ex) { throw new Exception(ex.InnerException.Message, new Exception(ex.InnerException.StackTrace)); } }
/// <summary> /// 根据WEBSERVICE地址获取一个 Assembly /// </summary> /// <param name="p_Url">地址</param> /// <param name="p_NameSpace">命名空间</param> /// <returns>返回Assembly</returns> public static Assembly GetWebServiceAssembly(string p_Url, string p_NameSpace) { try { System.Net.WebClient _WebClient = new System.Net.WebClient(); System.IO.Stream _WebStream = _WebClient.OpenRead(p_Url); ServiceDescription _ServiceDescription = ServiceDescription.Read(_WebStream); _WebStream.Close(); _WebClient.Dispose(); ServiceDescriptionImporter _ServiceDescroptImporter = new ServiceDescriptionImporter(); _ServiceDescroptImporter.AddServiceDescription(_ServiceDescription, "", ""); System.CodeDom.CodeNamespace _CodeNameSpace = new System.CodeDom.CodeNamespace(p_NameSpace); System.CodeDom.CodeCompileUnit _CodeCompileUnit = new System.CodeDom.CodeCompileUnit(); _CodeCompileUnit.Namespaces.Add(_CodeNameSpace); _ServiceDescroptImporter.Import(_CodeNameSpace, _CodeCompileUnit); System.CodeDom.Compiler.CodeDomProvider _CodeDom = new Microsoft.CSharp.CSharpCodeProvider(); System.CodeDom.Compiler.CompilerParameters _CodeParameters = new System.CodeDom.Compiler.CompilerParameters(); _CodeParameters.GenerateExecutable = false; _CodeParameters.GenerateInMemory = true; _CodeParameters.ReferencedAssemblies.Add("System.dll"); _CodeParameters.ReferencedAssemblies.Add("System.XML.dll"); _CodeParameters.ReferencedAssemblies.Add("System.Web.Services.dll"); _CodeParameters.ReferencedAssemblies.Add("System.Data.dll"); System.CodeDom.Compiler.CompilerResults _CompilerResults = _CodeDom.CompileAssemblyFromDom(_CodeParameters, _CodeCompileUnit); if (_CompilerResults.Errors.HasErrors) { string _ErrorText = ""; foreach (CompilerError _Error in _CompilerResults.Errors) { _ErrorText += _Error.ErrorText + "/r/n"; } throw new Exception(_ErrorText); } return _CompilerResults.CompiledAssembly; } catch (Exception ex) { throw ex; } }
/// < summary> /// 动态调用web服务 /// < /summary> /// < param name="url">WSDL服务地址< /param> /// < param name="classname">类名< /param> /// < param name="methodname">方法名< /param> /// < param name="args">参数< /param> /// < returns>< /returns> public static object Invoke(string url, string classname, string methodname, object[] args) { string ns = "EnterpriseServerBase.WebService.DynamicWebCalling"; if ((classname == null) || (classname == "")) { classname = WebServiceInvoker.GetWsClassName(url); } System.Net.WebClient wc = new System.Net.WebClient(); System.IO.Stream stream = wc.OpenRead(url + "?WSDL"); System.Web.Services.Description.ServiceDescription sd = System.Web.Services.Description.ServiceDescription.Read(stream); System.Web.Services.Description.ServiceDescriptionImporter sdi = new System.Web.Services.Description.ServiceDescriptionImporter(); sdi.AddServiceDescription(sd, "", ""); System.CodeDom.CodeNamespace cn = new System.CodeDom.CodeNamespace(ns); System.CodeDom.CodeCompileUnit ccu = new System.CodeDom.CodeCompileUnit(); ccu.Namespaces.Add(cn); sdi.Import(cn, ccu); Microsoft.CSharp.CSharpCodeProvider csc = new Microsoft.CSharp.CSharpCodeProvider(); // System.CodeDom.Compiler.ICodeCompiler csc = .CreateCompiler(); System.CodeDom.Compiler.CompilerParameters cplist = new System.CodeDom.Compiler.CompilerParameters(); cplist.GenerateExecutable = false; cplist.GenerateInMemory = true; cplist.ReferencedAssemblies.Add("System.dll"); cplist.ReferencedAssemblies.Add("System.XML.dll"); cplist.ReferencedAssemblies.Add("System.Web.Services.dll"); cplist.ReferencedAssemblies.Add("System.Data.dll"); System.CodeDom.Compiler.CompilerResults cr = csc.CompileAssemblyFromDom(cplist, ccu); if (true == cr.Errors.HasErrors) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); foreach (System.CodeDom.Compiler.CompilerError ce in cr.Errors) { sb.Append(ce.ToString()); sb.Append(System.Environment.NewLine); } throw new NHExt.Runtime.Exceptions.RuntimeException("调用WebService开始编译发生错误:" + sb.ToString()); } System.Reflection.Assembly assembly = cr.CompiledAssembly; Type t = assembly.GetType(ns + "." + classname, true, true); object obj = Activator.CreateInstance(t); System.Reflection.MethodInfo mi = t.GetMethod(methodname); return mi.Invoke(obj, args); }
static string TranslateJsonToCode(string filePath) { OpenApiDocument doc = ReadJson(filePath); Settings settings = new Settings() { ClientNamespace = "MyNS", }; System.CodeDom.CodeCompileUnit codeCompileUnit = new System.CodeDom.CodeCompileUnit(); System.CodeDom.CodeNamespace clientNamespace = new System.CodeDom.CodeNamespace(settings.ClientNamespace); codeCompileUnit.Namespaces.Add(clientNamespace);//namespace added to Dom ComponentsToCsTypes gen = new ComponentsToCsTypes(settings, codeCompileUnit, clientNamespace); gen.CreateCodeDom(doc.Components); return(gen.WriteToText()); }
System.CodeDom.CodeCompileUnit GenerateCompileUnit(System.CodeDom.Compiler.CodeDomProvider provider, System.CodeDom.Compiler.CodeGeneratorOptions options, string file, List <NSObjectTypeInfo> types) { var ccu = new System.CodeDom.CodeCompileUnit(); var namespaces = new Dictionary <string, System.CodeDom.CodeNamespace> (); foreach (var t in types) { System.CodeDom.CodeTypeDeclaration type; string nsName; System.CodeDom.CodeNamespace ns; t.GenerateCodeTypeDeclaration(provider, options, infoService.WrapperRoot, out type, out nsName); if (!namespaces.TryGetValue(nsName, out ns)) { namespaces[nsName] = ns = new System.CodeDom.CodeNamespace(nsName); ccu.Namespaces.Add(ns); } ns.Types.Add(type); } return(ccu); }
public ServiceDescriptionImportWarnings Import(System.CodeDom.CodeNamespace codeNamespace, System.CodeDom.CodeCompileUnit codeCompileUnit) { }
// Methods public virtual string ImportSchemaType(string name, string namespaceName, System.Xml.Schema.XmlSchemaObject context, System.Xml.Serialization.XmlSchemas schemas, System.Xml.Serialization.XmlSchemaImporter importer, System.CodeDom.CodeCompileUnit compileUnit, System.CodeDom.CodeNamespace mainNamespace, System.Xml.Serialization.CodeGenerationOptions options, System.CodeDom.Compiler.CodeDomProvider codeProvider) { }
protected abstract void GenerateNamespaceStart(System.CodeDom.CodeNamespace e);
System.CodeDom.CodeCompileUnit GenerateCompileUnit (System.CodeDom.Compiler.CodeDomProvider provider, System.CodeDom.Compiler.CodeGeneratorOptions options, string file, List<NSObjectTypeInfo> types) { var ccu = new System.CodeDom.CodeCompileUnit (); var namespaces = new Dictionary<string, System.CodeDom.CodeNamespace> (); foreach (var t in types) { System.CodeDom.CodeTypeDeclaration type; string nsName; System.CodeDom.CodeNamespace ns; t.GenerateCodeTypeDeclaration (provider, options, infoService.WrapperRoot, out type, out nsName); if (!namespaces.TryGetValue (nsName, out ns)) { namespaces[nsName] = ns = new System.CodeDom.CodeNamespace (nsName); ccu.Namespaces.Add (ns); } ns.Types.Add (type); } return ccu; }
public void Execute(string path) { if (this.path != path) { if (!System.IO.Directory.Exists(path)) { textBox1.Text = "Invalid folder! choose a valid database folder"; tabControl1.SelectedIndex = 1; return; } this.path = path; } textBox1.Text = ""; Sqo.SiaqodbConfigurator.EncryptedDatabase = false; Sqo.Siaqodb siaqodbConfig = new Sqo.Siaqodb(AppDomain.CurrentDomain.BaseDirectory + "\\config"); Sqo.IObjectList <NamespaceItem> namespaces = siaqodbConfig.LoadAll <NamespaceItem>(); Sqo.IObjectList <ReferenceItem> references = siaqodbConfig.LoadAll <ReferenceItem>(); siaqodbConfig.Close(); EncryptionSettings.SetEncryptionSettings();//set back settings string ifEncrypted = @" Sqo.SiaqodbConfigurator.SetLicense(@"" qU3TtvA4T4L30VSlCCGUTbooYKG1XXCnjJ+jaPPrPLaD7PdPw9HujjxmkZ467OqZ"");"; if (EncryptionSettings.IsEncryptedChecked) { ifEncrypted += @" Sqo.SiaqodbConfigurator.EncryptedDatabase=true; Sqo.SiaqodbConfigurator.SetEncryptor(Sqo.BuildInAlgorithm." + EncryptionSettings.Algorithm + @"); "; if (!string.IsNullOrEmpty(EncryptionSettings.Pwd)) { ifEncrypted += @" SiaqodbConfigurator.SetEncryptionPassword(""" + EncryptionSettings.Pwd + @""");"; } } #if TRIAL ifEncrypted += @" SiaqodbConfigurator.SetTrialLicense(""" + TrialLicense.LicenseKey + @""");"; #endif string metBody = ifEncrypted + @" Siaqodb siaqodb = Sqo.Internal._bs._ofm(@""" + this.path + @""",""SiaqodbManager,SiaqodbManager2""); object list= (" + this.textEditor1.Text + @").ToList(); siaqodb.Close(); return list; " ; var c = new CodeDom(); //c.AddReference(@"System.Core.dll"); //c.AddReference(@"siaqodb.dll"); //c.AddReference(@"System.Windows.Forms.dll"); foreach (ReferenceItem refi in references) { c.AddReference(refi.Item); } System.CodeDom.CodeNamespace n = c.AddNamespace("LINQQuery"); foreach (NamespaceItem nitem in namespaces) { n.Imports(nitem.Item); } n.Imports("System.Collections.Generic") .Imports("System.Linq") .Imports("Sqo") .AddClass( c.Class("RunQuery") .AddMethod(c.Method("object", "FilterByLINQ", "", metBody))); Assembly assembly = c.Compile(WriteErrors); if (assembly != null) { Type t = assembly.GetType("LINQQuery.RunQuery"); MethodInfo method = t.GetMethod("FilterByLINQ"); try { var retVal = method.Invoke(null, null); IList w = ((IList)retVal); this.dataGridView1.DataSource = w; this.dataGridView1.AutoGenerateColumns = true; this.tabControl1.SelectedIndex = 0; //this.lblNrRows.Text = ar.Count + " rows"; } catch (Exception ex) { WriteErrors(ex.ToString()); this.tabControl1.SelectedIndex = 1; } } else { this.tabControl1.SelectedIndex = 1; } }
public XmlCodeExporter(System.CodeDom.CodeNamespace codeNamespace, System.CodeDom.CodeCompileUnit codeCompileUnit, CodeGenerationOptions options) { }
// Constructors public XmlCodeExporter(System.CodeDom.CodeNamespace codeNamespace) { }
protected void GenerateTypes(System.CodeDom.CodeNamespace e) { Contract.Requires(e != null); Contract.Requires(e.Types != null); }
public static string Generate(System.Data.DataSet dataSet, System.CodeDom.CodeNamespace codeNamespace, System.CodeDom.Compiler.CodeDomProvider codeProvider) { }
public virtual new void GenerateCodeFromNamespace(System.CodeDom.CodeNamespace codeNamespace, TextWriter writer, CodeGeneratorOptions options) { }
public override void ProcessGeneratedCode(System.CodeDom.CodeCompileUnit codeCompileUnit, System.CodeDom.CodeNamespace generatedNamespace, System.CodeDom.CodeTypeDeclaration generatedClass, System.CodeDom.CodeMemberMethod executeMethod) { base.ProcessGeneratedCode(codeCompileUnit, generatedNamespace, generatedClass, executeMethod); }
} // end private void AddProperties(System.Windows.Forms.Control control, System.Text.StringBuilder stringBuilder) /// <summary> /// The method builds the CodeDom and returns a string with the source. /// </summary> /// <returns></returns> private string BuildCodeBehind() { string resultString; System.IO.StringWriter stringWriter; System.CodeDom.CodeNamespace codeUsing; System.CodeDom.CodeNamespace codeNamespace; System.CodeDom.CodeCompileUnit codeCompileUnit; System.CodeDom.CodeTypeDeclaration codeTypeDeclaration; System.CodeDom.Compiler.CodeDomProvider codeDomProvider = null; System.CodeDom.Compiler.CodeGeneratorOptions codeGeneratorOptions; // Initialize Header with namespace and using declarations codeCompileUnit = new System.CodeDom.CodeCompileUnit(); codeUsing = new System.CodeDom.CodeNamespace(); codeUsing.Imports.Add(new System.CodeDom.CodeNamespaceImport("System")); codeNamespace = new System.CodeDom.CodeNamespace(this._Namespace); // Initialize TypeDeclaration private declaration codeTypeDeclaration = new System.CodeDom.CodeTypeDeclaration(this._RootName); switch(this._AspxType) { case suite4.net.WinForms2WebForms.AspxTypes.Page : codeTypeDeclaration.BaseTypes.Add(typeof(System.Web.UI.Page)); break; case suite4.net.WinForms2WebForms.AspxTypes.UserControl : codeTypeDeclaration.BaseTypes.Add(typeof(System.Web.UI.UserControl)); break; } // end switch(this._AspxType) this.GenerateFields(codeTypeDeclaration); this.BuildOnInitMethod(codeTypeDeclaration); this.BuildPageLoadMethod(codeTypeDeclaration); this.BuildInitializeComponentMethod(codeTypeDeclaration); codeNamespace.Types.Add(codeTypeDeclaration); codeCompileUnit.Namespaces.Add(codeUsing); codeCompileUnit.Namespaces.Add(codeNamespace); switch(this._SourceLanguage) { case suite4.net.WinForms2WebForms.SourceLanguages.C_Sharp : codeDomProvider = new Microsoft.CSharp.CSharpCodeProvider(); break; case suite4.net.WinForms2WebForms.SourceLanguages.VbNet : codeDomProvider = new Microsoft.VisualBasic.VBCodeProvider(); break; } // end switch(this._SourceLanguage) if(codeDomProvider != null) { // init codeGeneratorOptions codeGeneratorOptions = new System.CodeDom.Compiler.CodeGeneratorOptions(); codeGeneratorOptions.BlankLinesBetweenMembers = false; codeGeneratorOptions.BracingStyle = "C"; codeGeneratorOptions.ElseOnClosing = true; codeGeneratorOptions.IndentString = "\t"; stringWriter = new System.IO.StringWriter(); codeDomProvider.CreateGenerator().GenerateCodeFromCompileUnit(codeCompileUnit, stringWriter, codeGeneratorOptions); resultString = stringWriter.ToString(); stringWriter.Close(); return resultString; } // end if(codeDomProvider != null) return null; } // end private string BuildCodeBehind()
public void SetUp() { this.codeNamespace = new System.CodeDom.CodeNamespace(); this.testClassDeclaration = new System.CodeDom.CodeTypeDeclaration(); this.typeMember = new System.CodeDom.CodeTypeMember(); this.buildData = new NStub.CSharp.ObjectGeneration.BuildDataDictionary(); this.mocks = new MockRepository(); this.builderData = this.mocks.StrictMock<IBuilderData>(); this.buildData.AddDataItem("CAT", "TheKey", builderData); this.setUpTearDownContext = this.mocks.StrictMock<NStub.CSharp.BuildContext.ISetupAndTearDownContext>(); this.testObject = this.mocks.Stub<MemberBuildContextBase>(this.codeNamespace, this.testClassDeclaration, this.typeMember, this.buildData, this.setUpTearDownContext); }
public virtual void GenerateCodeFromNamespace(System.CodeDom.CodeNamespace codeNamespace, System.IO.TextWriter writer, System.CodeDom.Compiler.CodeGeneratorOptions options) { }
protected void GenerateNamespaceImports(System.CodeDom.CodeNamespace e) { Contract.Requires(e != null); Contract.Requires(e.Imports != null); }
public static void Generate(string inputFileContent, System.CodeDom.CodeCompileUnit compileUnit, System.CodeDom.CodeNamespace mainNamespace, System.CodeDom.Compiler.CodeDomProvider codeProvider, System.Collections.Hashtable customDBProviders, GenerateOption option, string dataSetNamespace) { }
protected virtual new void GenerateNamespace(System.CodeDom.CodeNamespace e) { Contract.Requires(e != null); Contract.Requires(e.Comments != null); }
public static string Generate(string inputFileContent, System.CodeDom.CodeCompileUnit compileUnit, System.CodeDom.CodeNamespace mainNamespace, System.CodeDom.Compiler.CodeDomProvider codeProvider, GenerateOption option, string dataSetNamespace) { }
public XmlCodeExporter(System.CodeDom.CodeNamespace codeNamespace, System.CodeDom.CodeCompileUnit codeCompileUnit, System.CodeDom.Compiler.CodeDomProvider codeProvider, CodeGenerationOptions options, System.Collections.Hashtable mappings) { }
public static object UploadData(string url, string @namespace, string classname, string methodname, object[] args, ArrayList al) { try { System.Net.WebClient wc = new System.Net.WebClient(); //System.IO.Stream stream = wc.OpenRead(url + "?WSDL"); System.IO.Stream stream = wc.OpenRead(url); System.Web.Services.Description.ServiceDescription sd = System.Web.Services.Description.ServiceDescription.Read(stream); System.Web.Services.Description.ServiceDescriptionImporter sdi = new System.Web.Services.Description.ServiceDescriptionImporter(); sdi.AddServiceDescription(sd, string.Empty, string.Empty); //将sd描述导入到sdi中 System.CodeDom.CodeNamespace cn = new System.CodeDom.CodeNamespace(@namespace); System.CodeDom.CodeCompileUnit ccu = new System.CodeDom.CodeCompileUnit(); ccu.Namespaces.Add(cn); sdi.Import(cn, ccu); Microsoft.CSharp.CSharpCodeProvider csc = new Microsoft.CSharp.CSharpCodeProvider(); System.CodeDom.Compiler.ICodeCompiler icc = csc.CreateCompiler(); System.CodeDom.Compiler.CompilerParameters cplist = new System.CodeDom.Compiler.CompilerParameters(); cplist.GenerateExecutable = false; cplist.GenerateInMemory = true; cplist.ReferencedAssemblies.Add("System.dll"); cplist.ReferencedAssemblies.Add("System.XML.dll"); cplist.ReferencedAssemblies.Add("System.Web.Services.dll"); cplist.ReferencedAssemblies.Add("System.Data.dll"); System.CodeDom.Compiler.CompilerResults cr = icc.CompileAssemblyFromDom(cplist, ccu); if (cr.Errors.HasErrors) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); foreach (System.CodeDom.Compiler.CompilerError ce in cr.Errors) { sb.Append(ce.ToString()); sb.Append(System.Environment.NewLine); } throw new Exception(sb.ToString()); } System.Reflection.Assembly assembly = cr.CompiledAssembly; Type t = assembly.GetType(@namespace + "." + classname, true, true); object obj = Activator.CreateInstance(t); ParameterModifier[] paramsModifer = new ParameterModifier[1]; paramsModifer[0] = new ParameterModifier(args.Length); //paramsModifer[0][7] = true; object result = t.InvokeMember(methodname, BindingFlags.Default | BindingFlags.InvokeMethod, null, obj, args, paramsModifer, null, null); //al.Add(args[7]); return result; } catch (Exception ex) { WriteLog(ex.Message, EXCEPTION_LOG_TITLE); return null; } }
public XmlCodeExporter(System.CodeDom.CodeNamespace codeNamespace, System.CodeDom.CodeCompileUnit codeCompileUnit) { }
public virtual string ImportAnyElement(System.Xml.Schema.XmlSchemaAny any, bool mixed, System.Xml.Serialization.XmlSchemas schemas, System.Xml.Serialization.XmlSchemaImporter importer, System.CodeDom.CodeCompileUnit compileUnit, System.CodeDom.CodeNamespace mainNamespace, System.Xml.Serialization.CodeGenerationOptions options, System.CodeDom.Compiler.CodeDomProvider codeProvider) { }
public SoapCodeExporter(System.CodeDom.CodeNamespace codeNamespace, System.CodeDom.CodeCompileUnit codeCompileUnit, CodeGenerationOptions options, System.Collections.Hashtable mappings) { }
void System.CodeDom.Compiler.ICodeGenerator.GenerateCodeFromNamespace(System.CodeDom.CodeNamespace e, TextWriter w, CodeGeneratorOptions o) { }
public static void Generate(string inputFileContent, System.CodeDom.CodeCompileUnit compileUnit, System.CodeDom.CodeNamespace mainNamespace, System.CodeDom.Compiler.CodeDomProvider codeProvider, System.Data.Common.DbProviderFactory specifiedFactory) { }
// Constructors public SoapCodeExporter(System.CodeDom.CodeNamespace codeNamespace) { }
public static string Generate(string inputFileContent, System.CodeDom.CodeCompileUnit compileUnit, System.CodeDom.CodeNamespace mainNamespace, System.CodeDom.Compiler.CodeDomProvider codeProvider) { }
// Constructors public WebReference(System.Web.Services.Discovery.DiscoveryClientDocumentCollection documents, System.CodeDom.CodeNamespace proxyCode, string protocolName, string appSettingUrlKey, string appSettingBaseUrl) { }
public object CallWebService(WsDTO param) { string ErrWebService = string.Empty; System.Net.WebClient client = new System.Net.WebClient(); // Connect To the web service System.IO.Stream stream = client.OpenRead(this.UrlWebService + "?wsdl"); // Now read the WSDL file describing a service. var description = System.Web.Services.Description.ServiceDescription.Read(stream); ///// LOAD THE DOM ///////// // Initialize a service description importer. var importer = new System.Web.Services.Description.ServiceDescriptionImporter(); importer.ProtocolName = "Soap12"; // Use SOAP 1.2. importer.AddServiceDescription(description, null, null); // Generate a proxy client. importer.Style = System.Web.Services.Description.ServiceDescriptionImportStyle.Client; // Generate properties to represent primitive values. importer.CodeGenerationOptions = System.Xml.Serialization.CodeGenerationOptions.GenerateProperties; // Initialize a Code-DOM tree into which we will import the service. var nmspace = new System.CodeDom.CodeNamespace(); var unit1 = new System.CodeDom.CodeCompileUnit(); unit1.Namespaces.Add(nmspace); // Import the service into the Code-DOM tree. This creates proxy code that uses the service. var warning = importer.Import(nmspace, unit1); if (warning == 0) // If zero then we are good to go { // Generate the proxy code var provider1 = System.CodeDom.Compiler.CodeDomProvider.CreateProvider("CSharp"); // Compile the assembly proxy with the appropriate references string[] assemblyReferences = new string[5] { "System.dll", "System.Web.Services.dll", "System.Web.dll", "System.Xml.dll", "System.Data.dll" }; var parms = new System.CodeDom.Compiler.CompilerParameters(assemblyReferences); var results = provider1.CompileAssemblyFromDom(parms, unit1); // Check For Errors if (results.Errors.Count > 0) { foreach (System.CodeDom.Compiler.CompilerError oops in results.Errors) { ErrWebService += " " + oops.ErrorText; } throw new System.Exception(string.Format("Error al llamar a WS [{0}]", ErrWebService)); } // Finally, Invoke the web service method object wsvcClass = results.CompiledAssembly.CreateInstance(param.ServiceName); var mi = wsvcClass.GetType().GetMethod(param.MethodName); return(mi.Invoke(wsvcClass, param.Args)); } else { return(null); } }
public WebReference(System.Web.Services.Discovery.DiscoveryClientDocumentCollection documents, System.CodeDom.CodeNamespace proxyCode) { }