.net简单实现MVC模式

来源:互联网 发布:股票计算器软件 编辑:程序博客网 时间:2024/06/05 23:46

虽然.net有自己的MVC框架,但是使用起来也各种不方便,索性就自己实现了一套框架。


该框架视图采用html 前后端通过JSON数据交互,前端到后端的参数可以是对象


控制器介绍:

特性:MoonController :针对类

         MoonRequestMapping:针对方法

        例子:

                

[MoonControllerAttribute("TestController")]public class TestControl : IMoonHttpContext{    [MoonRequestMapping("Login.axd", true)]    public Person TestLoginTwo(string name, Person person)    {        return null;    }    public HttpContext Context    {        get;        set;    }}

       访问URL:  localhost:8080/项目名称/TestController/Login.axd

拦截器:
如果要使用拦截器需要实现:IFilter接口

全局异常处理器:
如果要使用全局异常处理器,需要实现:IHandlerExceptionResolver接口

配置文件如下:
        

<!--配置段落 -->

                <configSections>

           <sectionGroupname="moonMvc">

            <!--控制器对应的dll的段-->

           <sectionname="controlDllPath"type="System.Configuration.NameValueSectionHandler"/>

           <!--拦截器对应的全路径名称的段-->

           <sectionname="filterFullPath"type="System.Configuration.NameValueSectionHandler"/>

           <!--配置全局异常处理的段-->

          <sectionname="globalControllerExceptionHandle"    type="System.Configuration.NameValueSectionHandler"/>

          </sectionGroup>

        </configSections>

<!--MoonMVC配置-->

  <moonMvc>

    <!--控制器对应的dll的配置-->

    <controlDllPath>

      <!--添加控制器dllkey名字随便取-->

      <addkey="ControlDllPath1"value="MoonMVCWeb.dll"/>

    </controlDllPath>

    <!--拦截器配置-->

    <filterFullPath>

      <addkey="MoonMVCWeb.Filter.TestFilter"value="MoonMVCWeb.dll"/>

    </filterFullPath>

    <!--配置全局异常处理类-->

    <globalControllerExceptionHandle>

      <addkey="MoonMVCWeb.Exception.GlobalExceptionHandler"value="MoonMVCWeb.dll"/>

    </globalControllerExceptionHandle>

  </moonMvc>

<!--配置项目名称-->

  <appSettings>

    <addkey="WebName"value="MoonMVC"/>

  </appSettings>


已经整理好的源代码,包括MVC源代码以及单元测试代码已经上传:

http://download.csdn.net/download/lengyue2015/9973885

原创粉丝点击