• ASP.NET开源MVC框架Vici MVC(一)配置


    asp.net开源mvc框架 Vici的最大特征是支持ASP.NET2.0和IIS不需要额外的设置

    例子的下载地址http://viciproject.com/wiki/projects/mvc/Download

    现在大把大把的ASP.NET MVC框架都需要 iis进行额外的设置 而vici却不需要,为什么呢

    看看他的配置文件Web.config

    <?xml version="1.0"?>
    <configuration>
    
        <appSettings>
          <add key="Mvc.ApplicationClass" value="ViCiCore.Application,ViCiCore" />
          <add key="Mvc.TemplatePath" value="Content/templates" />
        </appSettings>
      
        <connectionStrings />
        <system.web>
            <compilation debug="true">
            </compilation>
    
          <globalization  requestEncoding="utf-8" fileEncoding="utf-8" />
          <httpModules>
            <add name="MvcModule" type="Vici.Mvc.HttpModule, Vici.Mvc" />
          </httpModules>
    
          <httpHandlers>
            <add verb="*" type="Vici.Mvc.MVCHandler, Vici.Mvc" path="ProMesh.axd" />
          </httpHandlers>
            <!--
                The <authentication> section enables configuration 
                of the security authentication mode used by 
                ASP.NET to identify an incoming user. 
            -->
            <authentication mode="Windows" />
            <!--
                The <customErrors> section enables configuration 
                of what to do if/when an unhandled error occurs 
                during the execution of a request. Specifically, 
                it enables developers to configure html error pages 
                to be displayed in place of a error stack trace.
    
            <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
                <error statusCode="403" redirect="NoAccess.htm" />
                <error statusCode="404" redirect="FileNotFound.htm" />
            </customErrors>
            -->
    
        </system.web>
    
    
      <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <directoryBrowse enabled="true" />
    
        <modules runAllManagedModulesForAllRequests="true">
          <add name="MvcModule" type="Vici.Mvc.HttpModule, Vici.Mvc" />
        </modules>
    
        <handlers>
          <add name="MvcHandler" preCondition="integratedMode" verb="*" path="ProMesh.axd" type="Vici.Mvc.MVCHandler, Vici.Mvc" />
        </handlers>
    
      </system.webServer>
    
    </configuration>

    注意appSettings节点,httpModules节点,httpHandlers节点

        <appSettings>
          <add key="Mvc.ApplicationClass" value="ViCiCore.Application,ViCiCore" />
          <add key="Mvc.TemplatePath" value="Content/templates" />
        </appSettings>
    
         <httpModules>
            <add name="MvcModule" type="Vici.Mvc.HttpModule, Vici.Mvc" />
          </httpModules>
    
          <httpHandlers>
            <add verb="*" type="Vici.Mvc.MVCHandler, Vici.Mvc" path="ProMesh.axd" />
          </httpHandlers>

    可见 vici是基于httpModules和httpHandlers的

    <appSettings>节点中 第一个对应一个类 第二个对应模板的文件夹

    看看ApplicationClass这个类有设么东西

     public static class Application
        {
            public static void Init()
            {
    
                WebAppConfig.Router.AddDefaultRoutes(".aspx"); // ".aspx"
              
            }
        }

    是一个初始化的,用来初始化默认路由 和 对什么类型的后缀名进行路由 选择.aspx就不用iis而外的设置

    默认的路由和微软的mvc差不多 有以下几种

    URL Controller Action Parameters
    ~/{controller}/{action}/{id} {controller} {action} id = {id}
    ~/{controller}/{action} {controller} {action}  
    ~/{controller} {controller} Run  

    vici的配置还是蛮简单的吐舌笑脸

  • 相关阅读:
    gridview展示行号
    DateEdit如果开启Vista模式并显示日期+时间模式
    DevExpress GridView 添加和设置右键菜单
    C# WinForm实现粘贴图片到PictureBox及复制PictureBox中的图片
    dll反编译工具(ILSpy)的使用
    Dev的双击Gridview的DoubleClick
    SQL Server日期时间格式转换字符串详解
    LabelControl文本居中显示
    C# winform 判断click事件点击的是左键还是右键
    Winform窗体状态的判断及调用打开的窗体的方法
  • 原文地址:https://www.cnblogs.com/qqloving/p/2010838.html
Copyright © 2020-2023  润新知