• asp.net mvc 网站发布后IIS配置问题小结


    最近自已学习了asp.net mvc,以前上学是有学过,那时候都没有怎么去用,现在花了一二天时间搞了下,总结下遇到的问题:

    1添加母版页时要注意:

            <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
            </asp:ContentPlaceHolder>

    这个 ID是我遇到并搞了许久的东东,在添加view时引用不了母版页,原来是ID的原因,要引用哪个母版页时,ID一定要匹配.

    2、多级目录时路由的问题。其实这个不是路由的问题,完全不用理它,中要在 Controller 中的action的返回参数中设置:

    如下:

       public ActionResult Index()
            {
                return View("~/Views/MVC/Index.aspx");//返回指定的目录层级,可多目录嵌套
            }
    3、发布后IIS的配置

    IIS 7.0
    直接创建WebSite就可以了
     
    可能出现500.19错误,原因是先安装了vs,后安装iis
    解决方案: cmd导航到C:\Windows\System32\inetsrv
    运行appcmd unlock config -section:system.webServer/handlers
    如果没有权限就到该目录config文件夹下分配一下权限。  
     
    IIS 6.0
    如果服务器上没有安装asp.net mvc 1.0, 则需要在mvc app项目中将System.Web.Mvc、System.Web.Routing、System.Web.Abstractions三个dll的copy local属性设为true。这三个dll需要和项目dll一起发布。
    部署到IIS6.0有两种方法
    1,添加扩展名
      在项目Global.asax文件中更改路由方式(添加.mvc扩展名)
    routes.MapRoute(
      "Default",
      "{controller}/{action}/{id}",
      new { action = "Index", id = "" }
    );
    routes.MapRoute(
      "Root",
      "",
      new { controller = "Home", action = "Index", id = "" 
    }; 
      在iis中添加.mvc映射和WildCard Application Maps  

     iis站点-->属性--->主目录-->配置-->映射-->插入
      找到c:\windows\microsoft.net\Framework\v2.0....\aspnet_isapi.dll, 取消 "确认文件是否存在" (不要选中),--> 确定

    最后得以在IIS下面运行

    (-:-:)

  • 相关阅读:
    Spring解决循环依赖的三种方式
    MySQL深度分页
    MySQL大数据量分页查询方法及其优化
    java进程 cpu100%问题排查
    Java线程池如何合理配置核心线程数
    Btree和B+tree的区别
    Python3 for Linux 安装
    redis sentinel 相关参数及命令
    postman 连接mysql
    oracle-数据库的各种-锁-详解
  • 原文地址:https://www.cnblogs.com/youshan/p/2060131.html
Copyright © 2020-2023  润新知