asp.net mvc 網站發布後IIS配置問題小結

來源:互聯網
上載者:User

最近自已學習了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下面運行

(-:-:)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.