今天试验了在 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. OC常用函数及变量

    1.OC常用的的函数及变量 (1)算术函数 [算术函数] 函数名 说明 int rand() 随机数生成.(例)srand(time(nil)); //随机数初期化int val = rand()P; ...

  2. cookie的坑

      HTTP Cookie       设置了secure ,   该cookie只能在HTTPS通道下被写入浏览器. HTTPS Cookie     设置了secure ,   该cookie只能 ...

  3. Android系统移植与调试之------->如何修改Android设备的桌面背景图片

    1.切换到~/mx0831-0525/device/other/TBDG1073/overlay/frameworks/base/core/res/res目录 2.准备好一张相应尺寸的图片并且命名为d ...

  4. PAT 1053. 住房空置率 (20)

    在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断.判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值e,则该住房为“可能空置”: 若观察期超过某 ...

  5. ABAP操作EXCEL (号称超级版)

    [转自http://www.cnblogs.com/VerySky/articles/2170014.html] *------------------------------------------ ...

  6. STM32L0 HAL库 TIM定时1s

    STM32L0的定制器资源: 本实验使用TIM6 HSI频率是16Mhz,则单指令周期是1/16Mhz 预分频设置为1600,则每跑1600下,定时器加1,相当于定时器加1的时间是1600*(1/16 ...

  7. 小程序获取openid和unionid java实现

    官方api:https://developers.weixin.qq.com/miniprogram/dev/api/api-login.html#wxloginobject 参考文章:https:/ ...

  8. rails json

    respond_to do |f| f.json { render :json => {:a => b, :c => d}.to_json } } end

  9. 每天一个Linux命令(33)cal命令

          cal命令用于显示当前日历,或者指定日期的日历.   (1)用法: 用法: cal [选项]  [[[日] 月] 年] (2)功能:       功能:  用于查看日历等时间信息,如只有一 ...

  10. P4965 薇尔莉特的打字机

    题目 P4965 薇尔莉特的打字机 快到十二点了正在颓废突然发现了一道好题 虽然毒瘤,但确实是容斥原理的好题啊,做法也特别巧妙(标程 思路 题目大意(怕自己突然忘) n个初始字符,m个操作(加入或删除 ...