今天试验了在 Visual Studio 中集成使用 IronPython,记录如下。

首先,下载一个 IronPython 1.0 的 binary,解压后,将目录路径 配置到环境变量 Path 中。
然后下载最新的 Visual Studio SDK. 我下载的是 August 2006 的测试版。
(下载地址:http://affiliate.vsipmembers.com/affiliate/downloadfiles.aspx)

安装完 SDK 后,可以在 Visual Studio 中使用 IronPython 了。打开
C:\Program Files\Visual Studio 2005 SDK\2006.04\VisualStudioIntegration\Samples\IronPythonIntegration
的项目,按 F5 运行,这时会启动一个新的 Visual Studio 实例,其中可以创建 IronPython 项目了。
我试了几下,发现现在还非常不稳定,经常会出现异常。

这个启动的 Visual Studio 实例中支持对 IronPython 的语法高亮,和 Intellisense 支持。
另外环境中还带一个 IronPython 控制台窗口(View-Other Windows 菜单中打开),可以用于方便的试验各种对象和方法:

接下来创建一个 ASP.NET 项目,在 .aspx 文件里的写法是几乎没有区别的,但是不知道为什么一切换到 designer 就会抛出异常

没办法,只好手写了:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.py" Inherits="WebApplication1._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="txtName" runat="server" />
        <asp:Button ID="btnTest" Text="OK" runat="server" OnClick="btnTest_Click" />
    </div>
    </form>
</body>
</html>

写完这些后,在后台代码里添加了一个 btnTest 按钮的处理方法如下:

import System
from System.Web import *
from System.Web.UI import *
from System.Web.UI.WebControls import *
from System.Web.UI.WebControls.WebParts import *
from System.Web.UI.HtmlControls import *
from clr import *

class WebApplication1: #namespace
    class _Default(System.Web.UI.Page):
        @accepts(Self())
        @returns(None)
        def Page_Load(self):
            pass
        
        def btnTest_Click(self, sender, args):
            self.txtName.Text = "Hello"
            

语法看起来的确比 C# 的要简单一些

真的很期待下一个 Visual Studio 补丁出来,那样就可以在 ASP.NET 的实际开发中体验 IronPython 了。

出处:http://www.cnblogs.com/RChen/archive/2006/09/15/ipy_aspnet.html

第一个 IronPython 的 ASP.NET 程序的更多相关文章

  1. 优秀ASP.NET程序员修炼之路

    初级的程序员或经验不足的程序员往往只意识到自己的程序是写给计算机的,而不会在意程序其实也是写给人的,或在意得不够.不全面. 写给机器的程序,往往追求的是运行正确.执行效率能满足要求.但程序员的任务仅仅 ...

  2. 用ASP.Net写一个发送ICQ信息的程序

    用ASP.Net写一个发送ICQ信息的程序 这里我给大家提供一个很实用的例子,就是在线发送ICQ信息.想一想我们在网页上直接给朋友发送ICQ信息,那是多么美妙的事情啊.呵呵,在吹牛啊,其实ICQ本来就 ...

  3. WCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构

    原文:WCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构 细算起来,已经有好几个月没有真正的写过文章了.近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析>的写作,一直 ...

  4. Orchar Core 创建一个模块化的ASP.NET Core应用程序

    您将构建什么?您将构建一个模块化的ASP.NET Core MVC Web应用程序,类似于Orchard Core附带的示例"Hello World"应用程序.它包括一个Web应用 ...

  5. 【ASP.NET程序员福利】打造一款人见人爱的ORM(二)

    上一篇我已经给大家介绍AntORM的框架[ASP.NET程序员福利]打造一款人见人爱的ORM(一),今天就来着重介绍一下如何使用这套框架 1>AntORM 所有成员 如果你只想操作一种数据库,可 ...

  6. 在Chrome+Visual Studio中调试asp.net程序很慢的问题(Firefox也有类似问题)

    在Chrome+Visual Studio中调试asp.net程序很慢的问题(Firefox也有类似问题) 今天开始起在Chrome中调试,发现问题主要出在菜单栏(layout文件)中,google了 ...

  7. 在IIS里面调试asp.net程序

    写在前面,在IIS里面调试asp.net程序,要分程序类型考虑: 一.调试asp.net项目: 1.选择"项目名",右击"属性": 2.选中"Web& ...

  8. 部署 外网 ASP.NET程序时, IIS安全性 配置 -摘自网络

    最近,和朋友们在聊及ASP.NET程序的安全性没有JAVA高,IIS(Internet Infomartion Server)的存在很多漏洞(以及新型蠕虫,例如Code Red 和Nimda),安全得 ...

  9. 引用 运行asp.net程序时候,编译器错误消息: CS0016: 未能写入输出文件“c:\WINDOWS\Microsoft.NET\Fra

    引用 运行asp.net程序时候,编译器错误消息: CS0016: 未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary A ...

随机推荐

  1. BestCoder Round #63 (div.2)

    感觉有些无聊的比赛. A 暴力枚举下就行 B 简单的dp,但是wa了一发后就去先把C做了,然后发现如果输入的100个数,是如1,2,3,4,...,100,然后k=50,个数为c(100,50).果断 ...

  2. python+NLTK 自然语言学习处理八:分类文本一

    从这一章开始将进入到关键部分:模式识别.这一章主要解决下面几个问题 1 怎样才能识别出语言数据中明显用于分类的特性 2 怎样才能构建用于自动执行语言处理任务的语言模型 3 从这些模型中我们可以学到那些 ...

  3. 北京君正集成电路的Newton平台--穿戴式

    版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/hellomxj1/article/details/25324125   Newton1开发平台 • 很适合 ...

  4. spring+hibernate+springmvc整合框架搭建

    搭建maven web项目这里不再讲述,详情请查看http://www.cnblogs.com/wql025/p/5215570.html 现在讲述项目的搭建过程. 1.通过maven导入项目所用的j ...

  5. SAP文件夹的判断与创建

    [转自 http://blog.csdn.net/saphome/article/details/6956918] SAP文件夹存在的判断与创建 2010-08-29 20:15 相关函数:WS_QU ...

  6. js hoisting

    1.变量提升 var x = 2; function test(){ console.log(x) var x = 1; } ==>运行程序报错,在test()函数中,x被提升到了顶部声明,相当 ...

  7. angular中按需加载js

    按需加载估计是大家在使用angular之后最想解决的问题吧,因为angular的依赖机制,导致了必须在第一次加载的时候就加载所有js文件,小项目还好,稍大一点的项目如果有上百个js文件,不管是从效率还 ...

  8. nodejs之入门

    一.安装: 去官网下载稳定版本,安装即可. 安装后执行node -v,显示node版本,然后输入node回车,然后输出console.log(111);,正常输出即可. 二.入门介绍: 1.nodej ...

  9. 0522 HTML表单 CSS基础

    一.列表标签 列表标签分为三种. 1.无序列表<ul>,无序列表中的每一项是<li> 英文单词解释如下: ul:unordered list,“无序列表”的意思. li:lis ...

  10. 蓝牙通讯 ble

    http://blog.csdn.net/beijingshi1/article/details/36426829