2014-10-01 81 views
0

上不起作用cshtml頁面不能僅在子域的子目錄中工作。我們有一個主域,其中cshtml在'X'子目錄文件夾中工作,但我們有一個子域,其中根目錄是主域的子目錄,cshtml在那裏不起作用。在IIS上,主域和子域都有自己的應用程序池。主域的'X'子目錄已被轉換爲應用程序,並且cshtml頁面正在工作。我們嘗試完成相同的過程,但出現以下錯誤:擴展名'.cshtml'在子目錄

未提供此類型的頁面。 說明:您所請求的頁面類型未被投放,因爲它已被明確禁止。擴展名'.cshtml'可能不正確。請查看下面的網址,並確保它拼寫正確。

請求的URL:/test/test.cshtml

這是一個簡單的測試文件,它的工作原理在主域子目錄,但不是在子域副目錄。我認爲這是阻止的父域,「它已被明確禁止。」

在處理程序映射上,分機處於活動狀態。 (Windows Server 2012 R2,IIS 8.5)

服務器安裝了.NET Framework 4。此外,應用程序正在配置爲使用該版本的.NET Framework的應用程序池中運行。

/家庭/ MAIN_DOMAIN/X_subdirectory(工作CSHTML)

/家庭/ MAIN_DOMAIN/sub_domain /子目錄(不工作CSHTML)

你有什麼想法?

下面的代碼提供給我一個內部錯誤:

<system.webServer> 
    <security> 
    <requestFiltering> 
     <fileExtensions> 
      <remove fileExtension=".cshtml" /> 
      <add fileExtension=".cshtml" allowed="true" /> 
     </fileExtensions> 
    </requestFiltering> 
    </security> 
</system.webServer> 

編號:http://www.asp.net/web-pages/overview/more-resources/aspnet-web-pages-%28razor%29-troubleshooting-guide

添加這對我的web.config不工作也沒有。

<configuration> 
    <appSettings> 
    <add key="webpages:Enabled" value="true" /> 
    </appSettings> 
</configuration> 

子目錄下它的工作原理被配置爲一個Web應用程序:

  1. 在IIS管理器(WIN + R和複製%SYSTEMROOT%\ SYSTEM32 \ INETSRV \ iis.msc)

  2. 在樹目錄左邊(\網站\ MAIN_DOMAIN \ sub_directory

  3. 列表項右鍵點擊它,我選擇「轉換爲應用程序」

+0

你是不是想通過網絡訪問原始的'.cshtml'文件?爲什麼? '。cshtml文件應該作爲ASP.NET引擎的一部分進行處理,然後將生成的內容提供給客戶端。由於您已將此標記爲MVC 4,這意味着您可以在啓動時使用應用程序中定義的路由來訪問視圖。您的請求將根據請求的路徑命中控制器,這將用於適當的視圖。 – mason 2014-10-01 16:55:21

+0

我試過ASP.NET引擎能夠處理子目錄上的.cshtml文件的代碼。我不使用視圖。一個簡單的代碼,你在這個頁面看到:http://www.w3schools.com/aspnet/showfile_c.asp?filename=try_razor_cs_004 – nandoC 2014-10-01 20:44:53

+0

相同的代碼工作在其他子目錄,其中該目錄已通過IIS轉換爲應用程序,但與子域不起作用 – nandoC 2014-10-01 20:48:21

回答

0

,如果你想直接查看在該視圖試試這個

"This type of page is not served." error when trying to browse on *.cshtml files

或試圖地區工作或使自己的路由

ASP.NET MVC 2: View Subfolders?

+0

感謝您的回覆,但它不起作用。我加入到我的web.config這段代碼,但我得到了同樣的錯誤:<配置> <添加鍵= 「網頁:啓用」 值= 「真」/> nandoC 2014-10-01 17:58:01

+0

嘗試將配置放入你的machine.config – 2014-10-01 21:21:23