C#/.Net 动态编译 UnitedAPI提速器

关键词:CSharpCodeProviderICodeCompilerCompilerParametersCompilerResultsAssembly

前言:

—————————–

1.为UnitedAPI进一步提升速度,一个要从纯SQL转存储过程,这个好实现。另一个就要利用动态编译特性,将原本动态的东东静态化,即用享受动态的灵活性,也不失静态的效率。

2.在一段逻辑流中增加一段新的控制逻辑,就没有必要打开vs了,直接web中增加,然后实时编译。这个可以为UnitedAPI提供更丰富而实时的控制能力。

3.可以用开vs了,直接弄个在线编程工具,在线编程。断点调试肿么破?感觉也可以弄个动态编译自动扫描每一行代码的情况,然后模拟出断点~~

 

转载内容:

——————————————————————

一、CSharpCodeProvider
    提供对C#代码生成器和代码编译器的实例的访问。如果要动态生成VB代码,可以使用VBCodeProvider
CreateCompiler():获取编译器的实例。
二、ICodeCompiler
    定义用于调用源代码编译的接口或使用指定编译器的CodeDOM树。每种编译方法都接受指示编译器的CompilerParameters对象,并返回指示编译结果的CompilerResults对象。
CompilerAssemblyFromSource(CompilerParameters option, string source):使用指定的编译器,从包含源代码的字符串设置编译程序集。
三、CompilerParameters
表示用于调用编译器的参数。
ReferencedAssemblies:获取当前项目所引用的程序集。Add方法为程序集添加引用。
GenerateExecutable:获取或设置一个值,该值指示是否生成可执行文件。若此属性为false,则生成DLL,默认是false。
GenerateInMemory:获取或设置一个值,该值指示是否在内存中生成输出。
四、CompilerResults
    表示从编译器返回的编译结果。
CompiledAssembly:获取或设置以编译的程序集,Assembly类型。
五、Assembly
    就是程序集了(不知道如何描述了)。

转载自:http://www.cnblogs.com/jailu/archive/2007/07/22/827058.html