ASP.NET MVC 的一个配置节点
生活随笔
收集整理的這篇文章主要介紹了
ASP.NET MVC 的一个配置节点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? 環境: IIS 7.5,IIS 集成模式, VS 2012,Chrome.
????用VS新建一個MVC4項目時,會在根目錄下的web.config和view 目錄下的web.config文件里自動添加<add key="webpages:Enabled" value="false" />這樣一個節點。
????這表示什么意思,從字面上很難看出來。于是google了一把。大概意思是說禁止你直接訪問view目錄下面的.cshtml和.vbhtml這樣的文件(比如通過瀏覽器輸入URL訪問)。否則會給出“This type of page is not served.”這樣的錯誤提示。于是開始試驗,通過瀏覽器直接訪問view里面的Index.cshtml文件。給出的錯誤提示卻是“The resource cannot be found.”用Chrome打開網絡監視是一個404的錯誤。
? ? 雖然結果都是不能直接訪問文件,但現象和網上描述的完全不一樣。于是在view目錄下面添加一個html頁面直接訪問。給出的也是“The resource cannot be found.”這樣的錯誤,于是猜想是不是MVC默認情況下直接禁止訪問view目錄下的文件。
這時候突然想到前段時間用HttpForbiddenHandler來處理直接訪問一些文件,如Excel文件。給出的錯誤提示也是“The resource cannot be found”。于是猜想.cshtml是不是也被類似的handler給處理了,果然在view目錄下面的web.config里面發現這樣的節點:<handlers>?<remove name="BlockViewHandler"/>?<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />?</handlers>(此配置是針對IIS 7.5集成模式的配置,另外一個類似的配置是針對的經典模式或者低版本的IIS)。注釋掉該節點,直接瀏覽Index.cshtml,出現的錯誤提示果然是“This type of page is not served.”這是一個403的錯誤。
? ??
????用VS新建一個MVC4項目時,會在根目錄下的web.config和view 目錄下的web.config文件里自動添加<add key="webpages:Enabled" value="false" />這樣一個節點。
????這表示什么意思,從字面上很難看出來。于是google了一把。大概意思是說禁止你直接訪問view目錄下面的.cshtml和.vbhtml這樣的文件(比如通過瀏覽器輸入URL訪問)。否則會給出“This type of page is not served.”這樣的錯誤提示。于是開始試驗,通過瀏覽器直接訪問view里面的Index.cshtml文件。給出的錯誤提示卻是“The resource cannot be found.”用Chrome打開網絡監視是一個404的錯誤。
? ? 雖然結果都是不能直接訪問文件,但現象和網上描述的完全不一樣。于是在view目錄下面添加一個html頁面直接訪問。給出的也是“The resource cannot be found.”這樣的錯誤,于是猜想是不是MVC默認情況下直接禁止訪問view目錄下的文件。
這時候突然想到前段時間用HttpForbiddenHandler來處理直接訪問一些文件,如Excel文件。給出的錯誤提示也是“The resource cannot be found”。于是猜想.cshtml是不是也被類似的handler給處理了,果然在view目錄下面的web.config里面發現這樣的節點:<handlers>?<remove name="BlockViewHandler"/>?<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />?</handlers>(此配置是針對IIS 7.5集成模式的配置,另外一個類似的配置是針對的經典模式或者低版本的IIS)。注釋掉該節點,直接瀏覽Index.cshtml,出現的錯誤提示果然是“This type of page is not served.”這是一個403的錯誤。
? ??
轉載于:https://www.cnblogs.com/cd57/p/5426394.html
總結
以上是生活随笔為你收集整理的ASP.NET MVC 的一个配置节点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jdk的安装和环境的配置
- 下一篇: mysql数据库保存中文乱码解决参考方案