IronPython是Python语言与.net有机结合的产物,它可以为.net语言添加脚本语言的特性,借助VS2010的支持,可以方便对脚本进行编辑与调试。
1.下载IronPython(http://ironpython.codeplex.com/)进行安装。目前是2.7版本,需要.net 4.0 支持。
2.打开VS2010,建立ASP.Net 应用程序项目(网站项目也可以)。添加一个测试页面TestPython1.aspx。

3.在页面上添加控件三个lable控件,一个textbox控件,一个button控件,完成后如下图所示:

4.点击项目添加新建项,选择文本文件,文件名test.py。保存文件。


5.打开脚本文件输入以下代码:
1 class MyService(object):
2
3 def GetData(self, value):
4 return "hello" + value
5
6 def MyFunction(name):
7 return "Bye Bye " + name
6.修改脚本文件属性为始终复制:

7.添加项目应用,找到IronPython安装目录,添加如下应用:

8.编写按钮点击事件代码,访问脚本。
1 //启动ironpython并获取脚本文件对象
2 var python = Python.CreateRuntime();
3 dynamic script = python.UseFile(AppDomain.CurrentDomain.BaseDirectory + "test.py");
4
5 //调用Python里的类
6 var service = script.MyService();
7 string result = service.GetData(this.TextBox1.Text);
8 this.Label2.Text = result;
9
10 //调用文件中的函数
11 result = script.MyFunction(this.TextBox1.Text);
12 this.Label3.Text = result;
9.编译项目并发布到IIS站点,访问测试页面,在文件框中输入“Tom”,点击按钮,成功调用脚本方法,修改lable控件文字。


10.找到网站目录,直接修改脚本文件代码后再访问页面,这是页面直接变化,体现了脚本文件动态编译的优点。
1 class MyService(object):
2 def GetData(self, value):
3 return "hello" + value
4 def MyFunction(name):
5 return "I Love " + name

11.在vs2010中可进行脚本文件的调试,修改点击按钮事件代码为:
1 protected void Button1_Click(object sender, EventArgs e)
2 {
3 Dictionary<string, Object> options = new Dictionary<string, object>();
4 options["Debug"] = true;
5
6 //启动ironpython并获取脚本文件对象
7 var python = Python.CreateRuntime(options);
8 dynamic script = python.UseFile(AppDomain.CurrentDomain.BaseDirectory + "test.py");
9
10 //调用Python里的类
11 var service = script.MyService();
12 string result = service.GetData(this.TextBox1.Text);
13 this.Label2.Text = result;
14
15 //调用文件中的函数
16 result = script.MyFunction(this.TextBox1.Text);
17 this.Label3.Text = result;
18
19 }
就可以在脚本文件中像cs文件一样设置断点,进行调试。
浙公网安备 33010602011771号