猫呜呜路

正确的接受意见,谨慎的求证,保持准确的疑问。
随笔 - 8, 文章 - 0, 评论 - 67, 引用 - 1
数据加载中……

【原】ProMesh学习笔记-初体验

前天从堂子里看到了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。:)
Tag标签: .net,ProMesh,MVC

posted on 2008-06-10 20:27 熊呜呜 阅读(240) 评论(5)  编辑 收藏 所属分类: Dotnet

评论

#1楼    回复  引用  查看    

粗略搜索看了一下,应该就是.NET 2.0 的MVC框架...
没必要花时间学这个了吧...
直接学ASP.NET MVC就好拉
2008-06-10 21:06 | Q.Lee.lulu      

#2楼 [楼主]   回复  引用  查看    

@Q.Lee.lulu
当然不是为了学习使用,呵呵。。。
主要是为了学习设计理念。:)
castle太复杂了,挑个简单的来。

对于ASP.NET MVC这个,肯定是要学习的。:)
2008-06-10 23:27 | 熊呜呜      

#3楼    回复  引用  查看    

promesh虽小但功能俱全.作为研究是再好不过了.
2008-06-15 22:52 | Phantaci      

#4楼    回复  引用    

这个东西可不简单呀!你看他的模板引擎没有?
2008-07-14 15:58 | king2003 [未注册用户]

#5楼    回复  引用    

你好,我按你的步骤去做,但是却显示:Application class {WebAppProMeshDemo.Application,WebAppProMeshDemo} could not be loaded.我已经建立一个类项目WebAppProMeshDemo,里面就包含Application和PageControllers文件夹,分别包含Application.cs和index.cs
接着建立了ProMeshWeb网站项目,引用了WebAppProMeshDemo.dll和Activa.ProMesh.dll库文件,运行的时候却出现上述问题。请问这个是什么问题?要升级到VS2005 SP1才行的吗?谢谢!
2008-07-31 01:04 | LovelyTigger [未注册用户]

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      


相关链接: