ProMesh学习笔记-初体验

39 篇文章 0 订阅
前天从堂子里看到了ProMesh.net这个MVC框架,感觉不错。
所以下载下来学习一下,下载 ProMesh-19618.zip

所有项目中引用了Activa.ProMesh.Dll,请大家自行引用

开始学习(之前已经把网站提供的Demo打开看了一下),准备自己使用框架搭建一个网站
第一步,建立ProMeshStudy工程,添加ProMeshStudy网站项目和ProMeshMyClass类库项目。网站项目作为表示层,包含Template、Css、Js、Image等;类库项目作为相对应的业务逻辑,包含Application、Controller等。

第二步,在ProMeshMyClass中添加一个静态类,在此类中添加静态方法Init();在系统启动时,ProMesh会根据设定调用此类的Init()方法来对系统进行初始化操作。比如默认的页面扩展名是".ashx",我们可以修改成".aspx";增加AjaxProvider等。
这里我使用的类是:
 1       public   static   class  MyApplications
 2      {
 3        public static void Init()
 4        {
 9            WebAppConfig.PageExtension = "aspx";
10        }

11    }

第三步,在网站项目中配置ProMesh。打开web.config在AppSettings中添加Application,指向你自己添加的静态类
<add key="ProMesh.ApplicationClass" value="ProMeshMyClass.MyApplications,ProMeshMyClass"/>
添加HttpModule
<add name="ProMeshModule" type="Activa.ProMesh.HttpModule,Activa.ProMesh"/>
添加HttpHandler
<add verb="*" path="*.aspx" type="Activa.ProMesh.PageHandler,Activa.ProMesh"/>

第四步,添加基本模板
默认模板地址是templates目录,在网站项目中添加此目录。默认模板页面是master.htm,请添加到模板目录下,内容如下:
Master模板页面

第五步,添加controller
请在ProMeshMyClass项目中添加一个新类,例如index,此类继承自Activa.ProMesh.Controller类。给此类添加一个void Run()方法内容增加ViewData["Hello"] = "Hello World!";类如下:
Controller类

第六步,添加对应controller的模板页面,在templates中添加与你刚刚增加类同名的htm文件,这里是index.htm
内容如下:
$[Hello]
[]中间是你刚刚ViewData的Key

第七步:F5

◎◎“。。发生错误了,未将对象引用到实例,PageHandler.cs的_internalHandler.ProcessRequest(ProMeshHttpContext.Current);这行

我跟踪了整个过程后,发现了几个问题点。不知道是我配置的问题还是应该修改过了。修改地方如下:
WebAppConfig.cs 此行private static string _pageExtension         = ".ashx";//edit   原来是"ashx";
                          此行else if (!value.StartsWith("."))//edit 原来是else if(!_pageExtension.StartsWith("."))

修改完毕,运行OK。:)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值