0

cshtml 页面不仅仅在子域的子目录中工作。我们有一个主域,其中 cshtml 在“X”子目录文件夹中工作,但我们有一个子域,其中根目录是主域的子目录,而 cshtml 在那里不起作用。在 IIS 上,主域和子域都有自己的应用程序池。主域的“X”子目录已转换为应用程序,并且 cshtml 页面正在运行。我们尝试完成相同的过程,但出现以下错误:

不提供此类页面。说明:您请求的页面类型未提供服务,因为它已被明确禁止。扩展名“.cshtml”可能不正确。请查看下面的 URL 并确保其拼写正确。

请求的 URL:/test/test.cshtml

这是一个简单的测试文件,它适用于主域子目录,但不适用于子域子目录。我认为阻止的是父域,“它已被明确禁止。”

在处理程序映射上,扩展是活动的。(Windows Server 2012 R2、IIS 8.5)

服务器安装了 .NET Framework 4。此外,该应用程序在配置为使用该版本的 .NET Framework 的应用程序池中运行。

/home/main_domain/X_subdirectory(适用于cshtml)

/home/main_domain/sub_domain/subdirectory(不工作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. 在左侧树中的目录 (\Sites\Main_domain\sub_directory

  3. 列表项右键单击它,我选择“转换为应用程序”

4

1 回答 1

0

如果您尝试直接访问视图,请尝试此操作

“不提供此类页面。” 尝试浏览 *.cshtml 文件时出错

或尝试使用区域或制作自己的路线

ASP.NET MVC 2:查看子文件夹?

于 2014-10-01T16:46:58.767 回答