当前位置: 移动技术网 > IT编程>开发语言>.net > C#在线运行

C#在线运行

2018年06月29日  | 移动技术网IT编程  | 我要评论

savika chaiyadej,万芳园,新农村商报网

初步完成c#代码的在线编辑。    
 
首先,传回前端的c#在线代码,进行预编译,用CSharpCodeProvider这个方法。设置编译版本3.5
设置编译参数GenerateInMemory:是否在内存运行,True - memory generation, false - external file generation。
设置生成执行文件的类型GenerateExecutable:True - exe file generation, false - dll file generation。
编译后返回result结果。
 
异常处理:如果编译时发生错误,生成错误编号和错误文本信息并返回给前端。
 
找到代码中的Main方法,并运行(CompiledMethod.Invoke(null, null);)
返回结果。
 
运行示例
打开页面,有预写好的c#Hello World小程序
 
成功运行示例
 
错误运行示例,报错信息显示。
最后贴上前端ajax代码
    $("#save").click(function (e) {
        e.preventDefault();
        $.ajax({
            type: 'POST',
            url: "CompileTest",
            data: { "CSharpCode": $("#CSharpCode").val() },
            success: function (result) {
                $("#result").text(result);
            },
        });
    });

 

注:
var sw = new StringWriter();
                Console.SetOut(sw);
                Console.SetError(sw);

 

重定向console的writeLine信息到字符串sw中。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网